使jQuery $ .ajax调用Twitter API 1.1搜索

ksc*_*ott 3 twitter ajax jquery twitter-oauth

这是一个非常简单的例子,用于调用Twitter的搜索API,以便从已知有推文的标签中获取所有推文#fml.

我相信我正确使用了此处所述的仅应用程序身份验证:https://dev.twitter.com/docs/auth/application-only-auth(有关呼叫,请参阅步骤3)

我被要求提供一个不涉及任何服务器端代码的解决方案,所以我在javascript中包含了承载代码,这不好开头,但....

我希望这段代码能够运行.相反,它产生错误'400(错误请求)'.有任何想法吗?

$.ajax({
    url: "https://api.twitter.com/1.1/search/tweets.json",
    dataType: "jsonp",
    data: "q=%23fml",
    beforeSend:  function (xhr) { 
             xhr.setRequestHeader ("Authorization", "Bearer XXmyBearerCodeXX"); 
            },
    success: function(json){ alert(json); }
});
Run Code Online (Sandbox Code Playgroud)

编辑1 - 验证的Twitter电话

使用hurl.eu我能够通过上面的查询和授权标题从API获得成功的响应,所以我认为这意味着我的Twitter调用是正确的,只是没有在jQuery.ajax()中正确设置,但我只是不喜欢看不出什么.

mcc*_*nnf 6

您无法使用带有dataType JSONP的AJAX调用设置请求标头.

看到这个问题:用jQuery.ajax和JSONP设置标题?

最好的解决方案是使用服务器端代理来搜索您.我知道你正在寻找一个仅限客户端的解决方案,但是由于这个限制,而且没有任何解决方案,这就是今天Twitter API的工作方式.

编辑如果您没有访问权限,可以使用Yahoo的YQL等代理.