0
function getDocuments(user){
  var scope = 'https://docs.google.com/feeds/';
  //oAuth
  user="user@yourdomain.com"
  var fetchArgs = googleOAuth_('docs', scope);
  var url = scope + user+'/private/full?v=3&alt=json';
  var urlFetch = UrlFetchApp.fetch(url, fetchArgs);
  var json=Utilities.jsonParse(urlFetch.getContentText())
  var entry = json.feed.entry;
  var docs = [];
  for(var i in entry){
    var tempDoc = {};
    for(var j in entry[i]){
      tempDoc.id = entry[i].id.$t.split('%3A')[1];
    }
    docs.push(tempDoc);
  }

  var url='https://docs.google.com/feeds/download/documents/Export?docID='+docs[0]+'&exportFormat=docs'
UrlFetchApp.fetch(url,fetchArgs)

}

//--------------------------------------------------------------------------------------
//Google oAuth
//Used by getDocuments(user)
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(consumerKey);
  oAuthConfig.setConsumerSecret(consumerSecret);
  return {oAuthServiceName:name, oAuthUseToken:"always",method:"GET"};
}

ドキュメントIDでドキュメントをダウンロードするための上記のコードを試しています。ドキュメント ID の配列をドキュメントとして持っており、エクスポート形式をドキュメントとして使用しています....だから、このコードについて何か提案をしてください.... .

4

1 に答える 1

0

これを試して:

 for(var i in entry){
    var tempDoc = {};
    for(var j in entry[i]){
      tempDoc.id = entry[i].id.$t.split('%3A')[1];
    }
//now your splitting your string nicely but you also want to use that
    docs.push(tempDoc.id);
  }

  var url='https://docs.google.com/feeds/download/documents/Export?docID='+docs[0]+'&exportFormat=docs'

//you dont want to use the fetch arguments anymore you have authenticated already
UrlFetchApp.fetch(url)

それでは、頑張ってください。

トーマス・ヴァン・ラトゥム

于 2012-09-25T14:21:31.093 に答える