Google Drive - 如何从Google API中清空垃圾桶?

问题描述 投票:0回答:2

我搜索了一下,发现了这个解决方案 此处:

function doGet() {
  try{
  authorize();    
  var key = "YOUR DEVELOPER KEY";
  var params = {method:"DELETE",
                oAuthServiceName: "drive",
                oAuthUseToken: "always"
               };  
  UrlFetchApp.fetch("https://www.googleapis.com/drive/v2/files/trash?key="+key,     params);  
  }
  catch(error)
  {
    MailApp.sendEmail("<some email>", "EMPTY TRASH BIN ERROR:<br>"+error);    
    return;
  } 
}

function authorize() {
  var oauthConfig = UrlFetchApp.addOAuthService("drive");
  var scope = "https://www.googleapis.com/auth/drive";
  oauthConfig.setConsumerKey("anonymous");
  oauthConfig.setConsumerSecret("anonymous");
  oauthConfig.setRequestTokenUrl("https://www.google.com/accounts/OAuthGetRequestToken?     scope="+scope);
  oauthConfig.setAuthorizationUrl("https://accounts.google.com/OAuthAuthorizeToken");    
  oauthConfig.setAccessTokenUrl("https://www.google.com/accounts/OAuthGetAccessToken");  

我 "搞定 "了

MailApp.sendEmail("<some email>", "EMPTY TRASH BIN ERROR:<br>", error);

在我的邮件中出现错误,我把我的开发者密钥(有些像这样的ZHjkMQP3dNiA24LmOvZ5WZ2v-_-APMcbEtHD6q)放在var key中,但我还是收到授权错误。

Exception: Error OAuth.错误。

google-drive-api
2个回答
0
投票

也许API参考资料会对你有所帮助 https:/developers.google.comdrivev2reference要发送一个文件到垃圾桶,你需要使用Files: trash(参见Google drive API参考),它需要你需要移动到垃圾桶的文件的fileId。而且它的方法是POST而不是DELETE。所以,也许这样的方法可以解决

  var params = {method:"POST",
                oAuthServiceName: "drive",
                oAuthUseToken: "always"
               };  
  UrlFetchApp.fetch("https://www.googleapis.com/drive/v2/files/{THE fileId of the file to be trasshed}/trash?key="+key,     params);  
  }

这应该会把一个文件移到垃圾桶。如果你想永久删除一个文件,你需要使用Files:delete(参见Google drive API参考),所以如果你在url中用{FileId}替换 "trash "就可以了。

UrlFetchApp.fetch("https:/www.googleapis.comdrivev2files{要删除的文件的FileId}?key="+key, params)。

希望这能帮到你。


0
投票

谷歌清空垃圾桶API 包含了一种直接从页面中清空垃圾的简单方法。

© www.soinside.com 2019 - 2024. All rights reserved.