Get the revision history of a resource using DocsList API

To get the revision history of your resource in your Google Docs using Google Apps Script, you can use Google DocsList API with Google oAuth and URLFetch App.

References:

Here is a quick code which will return the revision history entries in the form of JSON. You can use this JSON to get the different fields in revision history.

//Get revison history
// resource_id is the ID of the resource from Google Docs
function getRevisionHistory(resource_id){
  //Scope
  var scope = 'https://docs.google.com/feeds/';
  //Get Google oAuth Arguments
  var fetchArgs = googleOAuth_('docs', scope);
  //Set the fetch method
  fetchArgs.method = 'GET';
  //Feed URL
  var url = scope + 'default/private/full/'+resource_id+'/revisions?v=3&alt=json';
  var urlFetch = UrlFetchApp.fetch(url, fetchArgs);
  //Get the json of revision history entry
  var jsonFeed = Utilities.jsonParse(urlFetch.getContentText()).feed.entry;
  //return the revison history feed
  return jsonFeed
}

//Google oAuth
//Used by getRevisionHistory
function googleOAuth_(name,scope) {
  var oAuthConfig = UrlFetchApp.addOAuthService(name);
  oAuthConfig.setRequestTokenUrl("https://www.google.com/accounts/OAuthGetRequestToken?scope="+scope);
  oAuthConfig.setAuthorizationUrl("https://www.google.com/accounts/OAuthAuthorizeToken");
  oAuthConfig.setAccessTokenUrl("https://www.google.com/accounts/OAuthGetAccessToken");
  oAuthConfig.setConsumerKey("anonymous");
  oAuthConfig.setConsumerSecret("anonymous");
  return {oAuthServiceName:name, oAuthUseToken:"always"};
}
Comments