从 Google Apps 脚本调用 Twitter API
Posted
技术标签:
【中文标题】从 Google Apps 脚本调用 Twitter API【英文标题】:Calling Twitter API from Google Apps Script 【发布时间】:2014-01-07 21:32:09 【问题描述】:我正在尝试从 Google Apps 脚本调用 Twitter 的 REST API。 我正在使用的代码是从这里一对一复制的: https://developers.google.com/apps-script/guides/services/external
特别是:
function test()
var consumerKey = 'XXXX'; // Copied from my twitter app setting.
var consumerSecret = 'XXXXX'; // Copied from my twitter app setting.
var oauthConfig = UrlFetchApp.addOAuthService('twitter');
oauthConfig.setAccessTokenUrl('http://api.twitter.com/oauth/access_token');
oauthConfig.setRequestTokenUrl('http://api.twitter.com/oauth/request_token');
oauthConfig.setAuthorizationUrl('http://api.twitter.com/oauth/authorize');
oauthConfig.setConsumerKey(consumerKey);
oauthConfig.setConsumerSecret(consumerSecret);
var options =
'oAuthServiceName' : 'twitter',
'oAuthUseToken' : 'always'
;
var url = 'https://api.twitter.com/1.1/search/tweets.json?count=5&include_entities=false&result_type=recent&q=hello';
var response = UrlFetchApp.fetch(url, options);
var tweets = JSON.parse(response.getContentText());
Logger.log(tweets)
尽管如此,我每次运行它时都会收到 Oauth ERROR。 我在 Twitter 应用中的设置允许“读写”
任何建议
【问题讨论】:
【参考方案1】:只需转到您的 twitter 应用程序并将回调 url 设置为 https://script.google.com
【讨论】:
这可以转移到 jQuery 之类的东西上吗? 不明白你的问题。能详细解释一下吗? 更多的是调用外部库/API 的概念(jQuery 是一个不太可能工作的例子,因为 DOM 操作)。不要担心回答这个问题,因为我误解了你对原始问题的回答。 @braraujo 我们可以在 Twitter 请求本身中指定回调 URL 吗? Callback URL 下方的注释显示我们需要在 oAuth 1.0a 中明确指定 oauth_callback URL【参考方案2】:现在最好通过以下开源 Google Apps 脚本库来处理:
https://github.com/googlesamples/apps-script-oauth1
文档中的示例是 twitter 本身(因为它可能是唯一剩下的 oauth v1 用户......)
干杯,M
【讨论】:
以上是关于从 Google Apps 脚本调用 Twitter API的主要内容,如果未能解决你的问题,请参考以下文章
Google Apps 脚本中两次调用(POST 和 GET)之间的延迟
如何使用google apps脚本在自定义函数中编辑自定义函数的调用单元格?
google Apps 脚本中的 createFile() 无法正常运行
Google Apps 脚本中的成功处理程序从服务器函数接收 null