2013-03-18 50 views
1

解決

問題是,即使對於公共數據,Twitter現在(愚蠢)也需要OAuth。一個簡單的解決方法是擁有一個本地PHP腳本,該腳本使用Ajax獲取數據和訪問數據,而不是直接使用Ajaxing twitter。Twitter user_timeline JSONP。沒有反應


我目前正在試圖從使用Reqwest JavaScript庫的Twitter用戶拉時間表。但是,當我這樣做時,請求被認爲是成功的,但沒有檢索到數據,並且控制檯顯示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 2013-03-18 13:35:12

+0

我試過1.1,但也不成功。發佈更新 – 2013-03-18 13:36:55

+0

我面臨類似的問題,我認爲在能夠調用Twitter API之前,您必須先使用OAuth,您是否已經這樣做?我用C#.net工作,並使用LinqToTwitter來解決這個 – DevDave 2013-03-18 13:38:26

回答

0

我剛剛更新了我的plugin以使用Twitter 1.1 API。不幸的是,根據Twitter的敦促,您將不得不從服務器端代碼執行實際的請求。但是,您可以將響應傳遞給插件,其餘部分將會處理。我不知道你正在運行的是什麼框架,但我已經添加了用C#提出請求的示例代碼,並且很快就會添加用於PHP的示例代碼。

+0

我個人沒有使用jQuery,但將此設置爲接受的答案,無論我確定它會解決很多人的問題。謝謝:) – 2013-03-18 16:49:35

+0

沒有問題 - 如果你需要製作定製的幫助,香草JS版本讓我知道。 – 2013-03-18 16:53:40

0

如果我們想要,我們仍然可以解析他們的頁面,並用純客戶端JS重新實現至少一些丟失的功能。

我們需要的是:一個可以處理HTTPS頁面(我唯一知道的就是YQL API)的CORS代理,以及關於如何在他們的公共頁面上獲取信息的知識。 牢記這一點,我們可以從用戶獲取,例如,近20個鳴叫,我在做演示:http://jsbin.com/agejol/1(點擊「編輯在JSBin」查看代碼)

附:我知道這可能違反了他們的政策,但我關心它,就像他們放棄所有客戶端API時關心我們一樣。