我需要从我拥有的GAE应用程序下载通过OAuth提供的CSV。以下是Google Apps脚本:
function getFile(fileURL) {
var oAuthConfig = UrlFetchApp.addOAuthService('google');
oAuthConfig.setAccessTokenUrl('https://my-app.appspot.com/_ah/OAuthGetAccessToken');
oAuthConfig.setRequestTokenUrl('https://my-app.appspot.com/_ah/OAuthGetRequestToken');
oAuthConfig.setAuthorizationUrl('https://my-app.appspot.com/_ah/OAuthAuthorizeToken');
var options = {};
options.method = 'GET';
options.oAuthServiceName = 'google';
options.oAuthUseToken = 'always';
options.muteHttpExceptions = true
var formattedDate = Utilities.formatDate(new Date(), "GMT", "yyyy-MM-dd");
try {
var fileURL = 'https://my-app.appspot.com/oauth/na/productusage';
var response = UrlFetchApp.fetch(fileURL, options);
Logger.log(response.getAllHeaders().toSource());
Logger.log(response.getResponseCode());
var fileBlob = response.getBlob();
var folder = DocsList.getFolder('Download');
var result = folder.createFile(fileBlob);
result.rename('ProductUsage-' + formattedDate +'.csv');
} catch (e) {
Logger.log(e)
}
}
我已经使用此脚本从同一个GAE应用下载另一个CSV文件,因此身份验证应该有效。但是在这种情况下,它不起作用,这是给定的错误: [14-02-27 17:20:20:120 CET]例外:无法对服务进行身份验证:google
我不明白为什么,如果我将fileURL从同一个GAE应用程序更改为另一个CSV文件,它正在下载。
更多信息: