405我试图在Twitter上搜索时出错

时间:2014-08-05 08:38:19

标签: javascript jquery ajax twitter

我正在尝试使用jQuery在Twitter上进行一些搜索。不幸的是,它只返回:

https://api.twitter.com/1.1/search/tweets.json?q=django 405 (Method Not Allowed)
XMLHttpRequest cannot load https://api.twitter.com/1.1/search/tweets.json?q=django.
No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.

以下是代码:

(function(){
    var Twitter = {
        init: function(){
            this.url = 'https://api.twitter.com/1.1/search/tweets.json?q=django';
            this.fetch();
        },

        fetch: function(){
            $.ajax({
                url: this.url,
                type: 'GET',
                dataType: 'json',
                success: function(data){ console.log(data); },
                error: function(data){ console.log(data); },
                beforeSend: this.setHeader
            })
        },

        setHeader: function(xhr){
            xhr.setRequestHeader('X-HostCommonName', 'api.twitter.com');
            xhr.setRequestHeader('Authorization', 'OAuth my_oauth_data');
            xhr.setRequestHeader('Host', 'api.twitter.com');
            xhr.setRequestHeader('X-Target-URI', 'https://api.twitter.com');
        }
    };

    Twitter.init();
})();

我使用针对Google Chrome的REST控制台扩展程序使用相同的标题测试了相同的查询,并且它运行良好。

1 个答案:

答案 0 :(得分:1)

好吧,看起来(这里是info)您无法在客户端进行OAuth身份验证。

所以,这里唯一的解决方案就是在你的服务器上调用这个东西。