繁体   English   中英

Google App脚本,删除文档共享权限

[英]Google App Script, Remove Document Sharing Permission

使用URLFetchApp从文档ACL中删除用户的共享权限...

下面是我的代码

    function removeSharing(docId,userToRemove)
    {
      var base = 'https://docs.google.com/feeds/default/';
      var fetchArgs = googleOAuthDeleteUser_('docs', base);
      var url = base+'private/full/'+docId+'/acl/'+encodeURIComponent(userToRemove);
      var content = UrlFetchApp.fetch(url, fetchArgs).getContentText(); 
      return 'ok';
    }
    function googleOAuthDeleteUser_(name,scope) {
        var oAuthConfig = UrlFetchApp.addOAuthService(name);
        oAuthConfig.setRequestTokenUrl("https://www.google.com/accounts/OAuthGetRequestToken?scope="+encodeURIComponent(scope));
        oAuthConfig.setAuthorizationUrl("https://www.google.com/accounts/OAuthAuthorizeToken");
        oAuthConfig.setAccessTokenUrl("https://www.google.com/accounts/OAuthGetAccessToken");
        oAuthConfig.setConsumerKey("anonymous");
        oAuthConfig.setConsumerSecret("anonymous");

        return {
                oAuthServiceName:name, 
                oAuthUseToken:"always",
                headers : {
                           "GData-Version": "3.0",
                           "If-Match":"*"
                }, 
                method : "DELETE",
                contentType : 'application/x-www-form-urlencoded'
        };
    }

给我错误

请求失败,返回的代码为400。服务器响应:GData InvalidEntryException发布的条目缺少一个或多个必填字段:作用域

请帮助解决此问题。

根据API文档 ,您的参数应类似于:

DELETE https://docs.google.com/feeds/default/private/full/resource_id/acl/user:new_writer@example.com

如果userToRemove仅具有一个电子邮件地址,则可能是缺少的范围。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM