使用 jsonp 数据类型调用 Twitter 的 API 将抛出 400 错误

Calling Twitter's API with jsonp dataType will throw a 400 error

当尝试对 Twitter 执行 API 调用时,我注意到我必须使用 "jsonp" 来绕过跨域问题。使用 "json" 数据类型将引发 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>

正如他们的团队就我在他们的开发论坛上提出的这个主题所提到的那样,Twitter 正式不支持此功能:

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

针对此主题找到的任何解决方法都将直接发布在 link 中。