使用jsonp dataType调用Twitter的API将引发400错误

时间:2016-09-05 23:43:40

标签: javascript jquery json twitter jsonp

当尝试对Twitter执行API调用时,我注意到我必须使用" jsonp"绕过跨域问题。使用" json" dataType将抛出400" Control-Allow-Origin"错误。

另一方面,当我切换到jsonp时,我总是收到400错误,并显示以下消息:

  

jquery.min.js:4 GET   https://api.twitter.com/1.1/search/tweets.json?callback=aloha&q=dog

关于我在这里做错了什么以及如何解决问题的想法?

<script type="text/javascript">
    function aloha(result) {
        debugger;
    };
    var twitter_call = $.getJSON({
             type: 'GET',
             contentType: 'application/javascript',
             dataType: 'jsonp',
             cache: true,
             jsonpCallback: 'aloha',
             url: 'https://api.twitter.com/1.1/search/tweets.json',
             crossDomain: true,
             headers: {
                "Authorization": "Bearer MY_BEARER_TOKEN"
             },
             data: {
                "q":"dog"
             }
        });
</script>

1 个答案:

答案 0 :(得分:0)

正如我在他们的发展论坛上提到的那样,他们的团队提到的Twitter正式不支持这一点:

https://twittercommunity.com/t/error-401-problems-with-jsonp-token-with-twitter-rest-api-ajax/73618

为此主题找到的任何变通方法都将直接发布在该链接中。