使用Google Apps脚本将文件上传到云端硬盘

时间:2012-12-12 07:54:33

标签: google-apps-script google-drive-api

我正在尝试将图片文件上传到Google云端硬盘... 代码;

function upload() {
  var url= // url for image
  var contents=UrlFetchApp.fetch(url).getContent()   // trying to get image content
  var base = 'https://docs.google.com/feeds' 
  var fetchArgs = googleOAuth_('docs', base);
  fetchArgs.method='POST'
  fetchArgs.contentType='image/jpeg'
  var xml={title :"image",content:contents}
  fetchArgs.payload=xml
  var fileURL='https://www.googleapis.com/upload/drive/v2/files?uploadType=media'
  UrlFetchApp.fetch(fileURL, fetchArgs)
}

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"};
}

当我运行此代码时,我收到此错误:

请求返回代码403失败。服务器响应:{“error”:{“errors”:[{“domain”:“usageLimits”,“reason”:“dailyLimitExceededUnreg”,“message”:“未经身份验证的每日限制使用超出。继续使用需要注册。“,”extendedHelp“:”https://code.google.com/apis/console“}],”代码“:403,”消息“:”超出未经身份验证的使用的每日限制。继续使用需要注册。“ }}

我做错了什么,我没有得到这个......请给我一些可行的解决方案

1 个答案:

答案 0 :(得分:5)

这有什么问题:

DocsList.createFile(UrlFetchApp.fetch(fileURL, fetchArgs));

作为整个代码的替代品?