2013-03-18 3 views
1

Решено

Проблема в том, что Twitter теперь (глупо) требует OAuth даже для публичных данных. Простым решением является наличие локального php-скрипта, который OAuths и получает данные и доступ к ним с Ajax, в отличие от Ajaxing twitter.Twitter user_timeline JSONP. Нет ответа


В настоящее время я пытаюсь вытащить временные рамки пользователей из твиттера, используя библиотеку Reqwest JavaScript. Однако, когда я делаю это, запрос считается успешным, но данные не извлекаются, а на консоли отображается ошибка GET. Код им пытаются выглядит следующим образом:

$.domReady(function() { 

    $.ajax({ 
     url: 'http://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=twitter', 
     type: 'jsonp', 
     success: function (response) { 
      console.log(response); 
     }, 
     error: function (err) { 
      console.log(err); 
     } 
    }); 

}) 
+1

Twitter API версии 1 устарел и может больше не поддерживаться (не помню точную дату). Вам нужно использовать API 1.1 – DevDave

+0

Я пробовал 1.1, и он также не увенчался успехом. Сообщение обновлено –

+0

У меня возникла аналогичная проблема, и я думаю, вы должны использовать OAuth сейчас, прежде чем сможете звонить в API Twitter, вы уже это делаете? Я работаю с C# .net и использовал LinqToTwitter для решения этой проблемы – DevDave

ответ

0

Я только что обновил plugin, чтобы работать с API 1.1 Twitter. К сожалению, по настоянию Twitter, вам нужно будет выполнить фактический запрос с серверного кода. Однако вы можете передать ответ плагину, и он позаботится обо всем остальном. Я не знаю, в какой среде вы работаете, но я уже добавил пример кода для запроса на C# и вскоре добавлю код для PHP.

+0

Я лично не использую jQuery, но задаю это как принятый ответ, независимо от того, как я уверен, что он решит проблему для многих людей. Спасибо :) –

+0

Не проблема - если вам нужна помощь в создании персонализированной версии ванильной версии JS, дайте мне знать. –

0

Если мы хотим, мы все равно можем разобрать их страницы и переопределить хотя бы немного утраченных функций с чистой клиентской JS.

Что нам нужно: прокси-сервер CORS, который может работать с HTTPS-страницами (единственное, что я знаю, это API YQL) и знание того, как информация удаляется на своих общедоступных страницах. Имея это в виду, мы можем извлечь, например, последние 20 твитов от пользователя, как я сделал в демо: http://jsbin.com/agejol/1 (нажмите «Изменить в JSBin», чтобы просмотреть код)

P.S. Я знаю, что это может нарушить их политику, но я забочусь об этом так же, как о них заботятся о нас, когда они отбрасывают все свои клиентские API.