Использование JSONP для извлечения данных из Twitter API - PullRequest
0 голосов
/ 13 марта 2020

Я пытаюсь использовать jsonp для извлечения встроенного твита (или нескольких, но давайте начнем с 1) из API Twitter. Я не могу просто использовать get из-за CORS, поэтому я пытаюсь использовать jsonp, чтобы он нормально работал на тестовой странице ...

Этот код работает и прекрасно встраивает код для вставки при запуске на веб-сайте .

function myJSCallback() {
            console.log('called back');
        }


        var urlx = 'https://api.twitter.com/1/statuses/oembed.json?url=https://twitter.com/louisck/status/1209181253444030468';

        $.ajax({
            url: urlx,
            type: 'GET',
            jsonpCallback: 'myJSCallback',
            dataType: 'jsonp',
            jsonp: 'callback',
            success: function (result) {
                console.log(result.html);
            }
        });

Однако, если я запускаю этот точный код внутри расширения chrome, я получаю сообщение об ошибке.

Uncaught (в обещании) TypeError: Невозможно назначить для чтения только свойство 'undefined' объекта '#'

Если я запускаю его без обратного вызова, я получаю другую ошибку ...

фактическая ошибка: oembed. json? Url = https://twitter.com/JackPosobiec/status/1238074823651274752&callback=jQuery34101717550445740914_1584065740386&_=1584065740387: 1 Uncaught ReferenceError: jQuery34101717550445740914_1584065740386 не определено

Обе версии прекрасно работают, когда я запускаю их на обычном веб-сайте. Ни одна из них не работает, когда я запускаю их в расширении Google chrome. Я пытаюсь заполнить твиты на странице после ее загрузки. Просто не могу понять это.

...