2011-09-12 76 views
0

試圖編寫一個腳本來獲取幾個用戶的最新推文。在我自己的twitter帳戶上效果很好,但不是最近創建的其他帳戶(< 7天)。默認Twitter保護嗎?

檢查他們的帳戶設置後,他們報告說「保護我的推文」是未檢查,這意味着我可以使用twitter API公開訪問它們。

相關代碼:

$url = 'http://api.twitter.com/1/statuses/user_timeline.json?user_id=' . $twID . '&count=' . $count . '&trim_user=true'; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$return[] = json_decode(curl_exec($ch), true); 

結果來自Twitter的API:

[0] => Array 
    (
     [error] => This method requires authentication. 
     [request] => /1/statuses/user_timeline.json?user_id=1540067663&count=6&trim_user=true 
    ) 

[1] => Array 
    (
     [0] => Array 
      (
       [favorited] => ... // Success -- Output truncated for brevity. 
    ) 

[2] => Array 
    (
     [error] => This method requires authentication. 
     [request] => /1/statuses/user_timeline.json?user_id=1532872753&count=6&trim_user=true 
    ) 

) 

是Twitter的API自動保護新的帳戶?

+0

好像Twitter API不喜歡它,如果我使用「user_id」,但「screen_name」參數工作得很好。解決方法解鎖,嘿。 –

回答

0

利用screen_name代替user_id解決了這個問題讓我滿意之間交換信息,這一呼籲是有用的。

最終鏈接的格式:

$url = 'http://api.twitter.com/1/statuses/user_timeline.json?screen_name=' . $twID . '&count=' . $count;

也許這可能是一個錯誤報告與Twitter的API ...但我們將看到的。 :)

1

$twID從哪裏來?

我實際上有相反的地方,屏幕名稱參數給我wonky結果,所以我不得不使用userid。有時你必須喜歡Twitter API。

您可能會發現它給你兩個

​​3210 http://api.twitter.com/1/users/lookup.xml?user_id=6253282

+0

我從調用函數傳入'$ twID'。這是一個twitter user_ids數組,雖然現在他們是screen_names。我對數組進行了foreach,因此我爲每個用戶打了一次電話。 –

+0

感謝您的通話示例 - Twitter的API很有趣,但與Facebook的Graph相比,它沒有什麼比較過山車。 :) –