【问题标题】:Why is the callback URL for Google Docs failing to work with Tumblr API?为什么 Google Docs 的回调 URL 无法与 Tumblr API 一起使用?
【发布时间】:2012-09-15 09:32:43
【问题描述】:

我编写了以下 Google Apps 脚本函数来授权 Google 电子表格查询 Tumblr API v2(使用 Oauth 1.0a)。

我尝试了回调 URL 的几种变体 - 我已成功将 https://spreadsheets.google.com/macros/ 与 Twitter API 一起使用 - 但在“授权”页面上单击“授权”后,回调 URL 重定向到 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());
}

【问题讨论】:

  • 这里有同样的问题。在 Twitter 上运行良好,但 Tumblr 失败了......

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


【解决方案1】:

我在使用 OAuth 1.0a 时遇到了同样的问题。

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

问题原来是 requestData,OAuth 工作正常,但由于 requestData 错误,提取被拒绝。

[编辑] 对于推特:

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

对于 QuickBooks:

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

};

【讨论】:

  • 您在使用 requestData 时遇到的具体问题是什么?我现在正在玩,但似乎还没有发现任何问题……
  • Tom,希望对您有所帮助,见上文 - 请注意使用 GET 而不是 POST
猜你喜欢
  • 2011-12-01
  • 2012-03-13
  • 1970-01-01
  • 1970-01-01
  • 2014-06-14
  • 1970-01-01
  • 2018-11-27
  • 1970-01-01
  • 2016-10-18
相关资源
最近更新 更多