今天,我的脚本停止在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有关。
答案 0 :(得分:1)
检查您的网络活动 - Chrome会自动将您的HTTP请求转换为HTTPS请求。解决此问题的最佳方法可能是通过代理路由您的请求:
作为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>