【发布时间】:2015-03-31 05:35:42
【问题描述】:
我正在尝试在我的 Google Apps 脚本中使用 Twitter Pin-based authorization 以最终代表其他用途发送推文。
我坦率地承认我不知道自己在做什么,但我在互联网上阅读了很多信息,并且觉得我已经尝试了一切。
我当前的 Google Apps Script JavaScript 代码:
var method = 'post';
var url = 'https://api.twitter.com/oauth/request_token';
var consumerKey = '[my consumer key]';
var ticks = '1422745454';
var nonce = '6826266';
var options = {
'method': method,
'oauth_callback': 'oob',
'oauth_consumer_key': consumerKey,
'oauth_nonce': nonce,
'oauth_signature': 'cIFeptE5HjHp7xrp%2BZt9xFhHox4%3D',
'oauth_signature_method': 'HMAC-SHA1',
'oauth_timestamp': ticks,
'oauth_version': '1.0'
};
var response = UrlFetchApp.fetch(url, options);
为了测试,我在每次测试运行之前将刻度设置为值here nonce 是一个介于 111111 和 9999999 之间的随机数,在每次测试运行之前都会重新生成。 我使用从 linq2twitter project 提取的一些 c# 代码生成的 oauth 签名
我怀疑问题出在签名上。我已经阅读了twitter documentation on creating a signature,并且我认为 C# 代码正确地执行了它,但我不确定。
问题是无论我尝试什么,我总是会得到这个错误: “https://api.twitter.com/oauth/request_token 的请求失败,返回代码 401。截断的服务器响应:无法验证 oauth 签名和令牌(使用 muteHttpExceptions 选项检查完整响应)”
我一直试图在 Google Apps 脚本中找到基于 Twitter Pin 的授权示例,但到目前为止还没有找到任何东西。 我尝试用 C#、PHP 等翻译示例也失败了。
请帮忙。
【问题讨论】:
标签: javascript twitter oauth google-apps-script twitter-oauth