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

标签 javascript jquery api twitter

最近 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.jsonjson.resultsjson.statuses 但它仍然无法正常工作。似乎需要 oAuth 才能使这项工作再次正常进行,但我不太确定。

使这项工作再次发挥作用的具体步骤是什么?

最佳答案

它不起作用的原因

在充满坏主意的奇妙世界中,Twitter 将在 2013 年 5 月取消这个答案,并且至少要求您使用他们的一个小部件并将其塞进,或者您设置启动应用程序并进行应用程序级身份验证,即使是公共(public)时间线 GET 请求也是如此。 [ From this post ]

这是完全正确的。您要么使用他们的 wigets“破解”一些东西(非常气馁,如果他们更改了他们的 widget 中的一行代码,您的代码将完全停止工作),或者您按照他们的建议升级到使用 OAuth 和 1.1 API 的经过身份验证的请求

您必须阅读的链接

因此,您不能只是将 URL 中的 /1/ 更改为 /1.1/ 并期望它起作用。

This post解释 1.0 API 如何被弃用,提供来自 Twitter 站点的证据,并解释您需要如何执行经过身份验证的请求。

This post有一些关于 1.1 API 以及它如何返回 JSON 格式数据的信息。

This post解释如果您从现在开始尝试向 1.0 API 发出任何请求,您将如何获得 410 GONE 状态,以及这意味着什么。

This post解释你得到的错误意味着什么

...最后,This post如果您选择使用 ,将逐步说明如何操作作为您的服务器端语言,您发出经过身份验证的请求并需要一个简单的库(包含单个文件)才能使其正常工作。

收盘中

不要使用 JavaScript 将某些东西组合在一起,只要 Twitter 更新了他们的小部件,就是这样,你就完蛋了。使用服务器端语言并按照他们的 documentation 正确执行.

关于javascript - 需要帮助转换为 Twitter API v1.1 - JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17207850/

相关文章:

api - Autodesk Forge API。如何获取项目的特定版本?

api - 在 ServiceStack 中我可以选择哪些选项来为每个请求分配唯一的 ID?

javascript - Touchend 事件不能与 touches 数组一起正常工作

javascript - 在 Chrome 中使用 sendKeysToElement 时出现 RSelenium 错误

具有特定步骤的Javascript for循环

javascript - 根据数据属性获取每个复选框集的值

javascript - 如何通过将具有相同名称的键的数值加在一起来 $.extend 2 个对象?

javascript - 拦截键盘按下

javascript json 不显示所有条目

java - Android Facebook API - 无效 key 问题