403进行Twitter搜索API调用时出错

时间:2013-05-10 03:15:46

标签: api google-chrome search twitter

今天,我的脚本停止在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'
    });

我在这里和其他论坛上看到过一些类似的抱怨,但从来没有一个有意义的解释,肯定不是解决方案。这怎么可能是纯铬的错误。如果您将搜索查询网址粘贴到位置栏,则会返回Feed。

我很茫然,并且如此接近推出我的应用程序,有点担心。

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

3 个答案:

答案 0 :(得分:1)

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

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

作为API 1.0弃用计划的一部分,我在某个地方读到Twitter在大约一个月内完全禁用匿名AJAX请求。所有Search API请求都需要使用应用程序身份验证令牌。

答案 1 :(得分:0)

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

编辑:今天它再次与Chrome合作..

答案 2 :(得分:0)

我知道这有点旧了但是对于任何寻找答案的人来说都是使用新的Twitter API,有一个已发布的解释,附有关于将来再次使用它的说明:http://thomasbillenstein.com/jTweetsAnywhere/ < / p>