我已编写以下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());
}
答案 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"
};