如何使用API​​ 1.1连接到可能使用OAuth身份验证的Twitter?

时间:2013-06-12 12:06:31

标签: javascript api twitter oauth arduino

我在Arduino建立了一个网站+一个项目,它们都从我自己的Twitter帐户中提取推文并根据这些推文行事。今天Twitter API已更改为1.1版,现在我的网站无效。

在我的网站上,我一直在使用JavaScript代码:

var twitter_api_url = 'http://search.twitter.com/search.json';" 
$.getJSON( twitter_api_url  + '?callback=?&rpp=5&q=from:' + twitter_user, function(data) { ". 

这不起作用,我不知道如何更改它。

在Arduino中,我打电话给:

client.println("GET /1/statuses/user_timeline.xml?screen_name=MYTWITTER HTTP/1.1");
client.println("Host:api.twitter.com");
client.println("Connection:close");
client.println();

我收到错误消息410(已消失)和“Twitter REST API v1将很快停止运行。请迁移到API v1.1。https://dev.twitter.com/docs/api/1.1/overview”。

我已尝试搜索修复程序,但找不到正确的解决方案。我可能需要进行OAuth身份验证吗?我找到了为此创建参数的指南, generate Twitter applications keys ,但我不知道如何将参数添加到JavaScript或Arduino代码中。

我找到了Arduino的建议:

client.print(F("GET /1/statuses/user_timeline.xml?screen_name=MYTWITTER HTTP/1.1"));
client.print(F("HOST: api.twitter.com"));
client.print(F("Authorization: OAuth oauth_consumer_key=\"XXX\", oauth_nonce=\"XXX\", oauth_signature=\"XXX\", oauth_signature_method=\"HMAC-SHA1\", oauth_timestamp=\"1361444134\", oauth_token=\"XXX\", oauth_version=\"1.0\""));
client.println();
client.println();

但是oauth_nonceoauth_signatureoauth_timestamp应该是什么?另一位用户也回答说这不起作用,所以我不知道是否要继续使用它。

如何解决此问题?

1 个答案:

答案 0 :(得分:1)

这可以帮助您解决问题。验证Twitter OAuth API V1.1的用户时间线> http://www.webdevdoor.com/php/authenticating-twitter-feed-timeline-oauth/