为什么Google文档的回调网址无法与Tumblr API一起使用?

时间:2012-09-23 21:14:26

标签: javascript oauth google-apps-script tumblr google-sheets

我已编写以下Google Apps脚本功能,以授权Google电子表格查询Tumblr API v2(使用Oauth 1.0a)。

我已经尝试了一些回调网址的变体 - 我已成功将https://spreadsheets.google.com/macros/与Twitter API一起使用 - 但在“授权”页面上单击“授权”后,回调网址会重定向到 www.google.com/script/start/ 并且不会进行身份验证。

这是我一直在尝试的剧本 - 对于为什么这可能不起作用的任何想法?

function authorise() {
  var oauthConfig = UrlFetchApp.addOAuthService("tumblr");
  oauthConfig.setAccessTokenUrl("http://www.tumblr.com/oauth/access_token");
  oauthConfig.setRequestTokenUrl("http://www.tumblr.com/oauth/request_token");
  oauthConfig.setAuthorizationUrl("http://www.tumblr.com/oauth/authorize");
  oauthConfig.setConsumerKey(tumblrKey);
  oauthConfig.setConsumerSecret(tumblrSecret);
  var requestData = {
    "method": "GET",
    "oAuthServiceName": "tumblr",
    "oAuthUseToken": "always"
  }
  var result = UrlFetchApp.fetch(
      "http://api.tumblr.com/v2/blog/frankocean.com/info",
      requestData);
    Logger.log(result.getContentText());
}

1 个答案:

答案 0 :(得分:-1)

OAuth 1.0a遇到了同样的问题。

为了解决这个问题,我在firefox中使用了RestClient插件来追踪原因。

问题原来是requestData,OAuth正在运行,但由于requestData错误,因此提取被拒绝。

[编辑] 对于twitter:

var requestData = {
  "method": "POST",
  "oAuthServiceName": "twitter",
  "oAuthUseToken": "always"
};

for QuickBooks:

var requestData = {
"method": "GET",
"oAuthServiceName": "QuickBooks",
"oAuthUseToken": "always"

};