需要帮助转换为Twitter API v1.1 – JavaScript

最近Twitter将其API更新到v1.1并且我的程序停止工作,但无论我阅读了多少文档,我似乎都无法真正了解使我的代码工作所需的内容。

我的以前的工作代码如下:

function getTweets() { var url = 'http://search.twitter.com/search.json?q=%23yolo&rpp=10&result_type=recent&callback=?'; $.getJSON(url, function (json) { display = []; displayDateTime = []; if (json.results.length != null) { for (var i = 0; i < json.results.length; i++) { var time = new Date(json.results[i].created_at); display.push("@" + json.results[i].from_user + ": " + json.results[i].text); displayDateTime.push("[" + time.toString().substring(0, 19) + "]"); } //end of for loop display.reverse(); displayDateTime.reverse(); loadOtherStuffs(); } //end of if else { setTimeout(getTweets, 24000); } }); //end of getJSON }//end of getTweets() 

我尝试将url更改为https://api.twitter.com/1.1/search/tweets.json和json.resultsjson.statuses但它仍然无效。 似乎oAuth需要oAuth开始这项工作,但我不太确定。

使这项工作重新开始的步骤是什么?

它不工作的原因

In the wonderful world of bad ideas, Twitter is sunsetting this answer, as of May 2013, and will require, at minimum, that you either use one of their widgets, and shoehorn it in, or that you set up an application and do application-level authentication, even for public-timeline GET requests. [ 来自这篇文章 ]

这是完全正确的。 你可以使用他们的wiget“破解”一些东西( 非常气馁 ,如果他们在他们的小部件中更改了一行代码,你的代码将完全停止工作),或者你做他们的建议并使用OAuth和1.1升级到经过身份validation的请求 API。

你必须阅读的链接

因此,您不能只将URL中的/ 1 /更改为/1.1/并期望它能够正常工作。

这篇文章解释了如何弃用1.0 API,从twitter站点提供证据,并解释了如何执行经过身份validation的请求。

这篇文章提供了1.1 API的一些信息以及它如何返回JSON格式的数据。

这篇文章解释了如果你从现在开始尝试向1.0 API发出任何请求,你将如何获得410 GONE状态,这意味着什么。

这篇文章解释了你得到的错误意味着什么

…最后, 这篇文章逐步解释了如果您选择使用php作为服务器端语言,您可以进行经过身份validation的请求并需要一个简单的库(单个文件包含)来使其工作。

在结束

不要使用JavaScript一起破解某些东西,只要Twitter对其小部件进行更新,就是这样,你就搞砸了。 使用服务器端语言并按照其文档正确执行。