如何在google脚本中使用Drive API在文件夹中插入文件

时间:2013-02-06 11:12:17

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

我有一个文件夹,我要在其中插入文件....文件是我在photoURL变量中提供的网址的图像 我的代码:

var consumerKey="yourDomain.com";
var consumerSecret="yourSecretKey";
function image() {
         // Photo url
         var photoURL="photourl"

         // Getting content of Image
         var imageContent=UrlFetchApp.fetch(photoURL).getContent()      

         // Storing image into drive
       storeIntoDrive(imageContent)      
}



// Oauth Authentication
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"};
}



//  To store image into Google Drive
function storeIntoDrive(content){
  var base="https://www.googleapis.com/auth/drive.file"
  var url='https://www.googleapis.com/upload/drive/v2/files?uploadType=media'
  var fetchArgs=googleOAuth_('drives',base)
  fetchArgs.payload=content
  fetchArgs.method='POSt'
  fetchArgs.contentType="images/jpeg"
  fetchArgs.header={"title" : "demo", "mimeType" : "image/jpeg",
  "parents": [{
    "kind": "drive#fileLink",
    "id": "0B3qF7GcD2uDHc2J5d21haFJFc0k"
  }]}
  var result=UrlFetchApp.fetch(url,fetchArgs)
}

它没有插入图像......我应该做些什么改变????

它给出错误:

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

1 个答案:

答案 0 :(得分:0)

这是因为您的访问令牌问题,您必须获取“https://www.googleapis.com/auth/drive.file”的访问令牌

下载最新的google api控制台并根据文档进行尝试。