2

今天,我的脚本在 Chrome 中停止工作,现在我收到 403 Forbidden 或 400 Bad Request。这只发生在 Chrome 中,并且只发生在我的 Twitter Search API 调用中:

var url = "http://search.twitter.com/search.json?q=myquery&include_entities=true&callback=?";

    $.ajax({
        type: 'GET',
        url: url,
        async: false,
        jsonpCallback: 'testCallback',
        contentType: "application/json",    
        dataType: 'jsonp'
    });

我在这里和其他论坛上看到了一些类似的投诉,但从来没有一个有意义的解释,当然也不是解决方案。这怎么可能是仅限 Chrome 的错误。如果您将搜索查询 url 粘贴到位置栏中,则会返回提要。

我很茫然,即将启动我的应用程序,有点担心。

编辑:错误现在是 400 并且在所有浏览器中。据我所知,这可能与 Twitter 弃用其 API 的 v.1 有关。

4

3 回答 3

1

检查您的网络活动 - Chrome 会自动将您的 HTTP 请求转换为 HTTPS 请求。解决此问题的最佳方法可能是通过代理路由您的请求:

http://net.tutsplus.com/tutorials/javascript-ajax/quick-tip-cross-domain-ajax-request-with-yql-and-jquery/

我在某处读到 Twitter 在大约一个月内完全禁用匿名 AJAX 请求,这是他们的 API 1.0 弃用计划的一部分。所有搜索 API 请求都需要使用应用程序身份验证令牌进行。

于 2013-05-10T20:58:45.627 回答
0

这也发生在这里。昨天它在所有浏览器上都能正常工作,今天我们从 Chrome 中的搜索调用中得到 403(其他浏览器仍在工作)。rate_limit_status.json 虽然在 Chrome 上正确返回。尝试在搜索请求中将协议从 http 更改为 https,但没有帮助。目前使用 jTweetsAnywhere jquery 插件来获取 twitter 提要。当我调试更多时,我注意到当我从查询中删除回调参数时,我得到了我想要的响应。

编辑:今天它再次与 Chrome 一起工作..

于 2013-05-10T11:55:40.067 回答
0

我知道这有点老了,但对于任何寻找答案的人来说,这与新的 Twitter API 有关,这里有一个发布的解释,并附有关于让它在未来再次工作的说明:http: //thomasbillenstein.com/jTweetsAnywhere /

于 2013-07-26T22:27:00.657 回答