执行该操作需要授权

时间:2013-05-05 14:04:24

标签: google-apps-script

我有一个脚本可以将Google文档转换为Blogger帖子(沿途保存图片到Picasa)...我使用过PicasaApp库。

我想将应用程序作为“用户访问网络应用程序”运行,以便人们可以在他们的文档和博客上使用它。

它对我来说很好,但总是返回“执行该操作需要授权”。与其他谷歌帐户一起使用时。

我有一个运行测试代码的函数,用于通过API与DocList,PicasaApp和Blogger交谈。他们都强迫我,作者进行身份验证,并且工作正常。我甚至尝试将googleOAuth_的名称更改为my_googleOAuth(见下文),以防它与PicasaApp中的googleOAuth_发生冲突。

function my_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("anonymous"); // Client ID:
    oAuthConfig.setConsumerSecret("anonymous"); //Client secret
    return {oAuthServiceName:name, oAuthUseToken:"always"};
}

这真的让我感到疯狂,似乎没有一个明确的答案可以做什么。我已经完成了十几种不同的编辑/保存/运行循环。

如果您能提供帮助,请提前致谢。

汤姆

1 个答案:

答案 0 :(得分:1)

遗憾的是,这是一个众所周知的限制,可以针对UrlFetch / OAuth1授权有效用户,并且在问题跟踪器上有一个open feature request

您可以在此处手动执行OAuth 2流程并将令牌存储在UserProperties中。以下是一些example OAuth2 code,您需要在developers.google.com/console

创建OAuth2客户端ID /密码