2010-06-12 55 views
2

我想做一件很簡單的事情,但是看起來做這個簡單任務的方式是不可能的。我需要拉我的twitter時間線。不是我最近的推文,而是我關注的人的推文。我希望這可以用PHP完成,但我不知道。任何幫助表示讚賞,請和我談談,就像我是一個noob - 徹底的大聲笑。Twitter的時間表與PHP?

+6

你嘗試過什麼嗎?也許是通過Twitter API瀏覽的? – Matchu 2010-06-12 23:52:32

+0

我有,我只是不太瞭解。我知道HTML/CSS和非常輕的JavaScript。我只是需要一個人爲我想要發展的想法制定一種戰鬥計劃,有點讓我朝着正確的方向發展:)。 – noxxten 2010-06-15 00:33:31

回答

7

看看這個頁面(鏈接更新): https://dev.twitter.com/docs/things-every-developer-should-know

也看看有關使用OAuth的意見。

您將不得不使用curl in PHP

棘手的部分是curl options。你可以在下面的例子中看到我是如何使用它們的。

你想從apiwiki獲得的部分是答案#8中的例子。具體做法是:

獲取從您在XML遵循,身份驗證的用戶更新:捲曲-u用戶名:密碼http://api.twitter.com/1/statuses/friends_timeline.xml

Here's the friends timeline docs.你可以讓你在XML想要的信息,JSON,RSS或Atom格式。 JSON很可能是最容易的,因爲you can parse that simply with PHP.

好了,轉成PHP這一點,你可以使用這個:

<?php 
// create a new cURL resource 
$curl = curl_init(); 
// set URL and other appropriate options 
$options = array(CURLOPT_URL => 'http://api.twitter.com/1/statuses/friends_timeline.json', 
       CURLOPT_HEADER => true, 
       CURLOPT_USERPWD => 'YOUR_USERNAME:YOUR_PASSWORD' 
       );    

// set URL and other appropriate options 
curl_setopt_array($curl, $options); 
// grab URL and pass it to the browser 
curl_exec($curl); 
// close cURL resource, and free up system resources 
curl_close($curl); 
?> 

只是tesed它在我的帳戶。上面的代碼爲您提供了JSON形式的朋友更新。

您可能不需要標題。如果你不這樣做,你可以省略「CURLOPT_HEADER => true」行。

編輯:

當然JSON一堆只有那麼有用....下面是如何改變到上面的代碼採取JSON和打印某些選擇的項目列於人類可讀形式的例子:

<?php 
// create a new cURL resource 
$curl = curl_init(); 
// set URL and other appropriate options 
$options = array(CURLOPT_URL => 'http://api.twitter.com/1/statuses/friends_timeline.json', 
       CURLOPT_USERPWD => 'USERNAME:PASSWORD', 
       CURLOPT_RETURNTRANSFER => true 
       );    

// set URL and other appropriate options 
curl_setopt_array($curl, $options); 
// grab URL and pass it to the browser 
$json = curl_exec($curl); 
// close cURL resource, and free up system resources 
curl_close($curl); 
$obj = json_decode($json);  
foreach($obj as $var => $value) 
{ 
    echo "Message number: $var <br/>";  
    echo "Name: " . $obj[$var]->user->name; 
    echo "Handle: " . $obj[$var]->user->screen_name . "<br/>";   
    echo "Message: " . $obj[$var]->text;   
    echo "Created" . $obj[$var]->created_at . "<br/>";      
    echo "URL" . $obj[$var]->user->url . "<br/>"; 
    echo "Location" . $obj[$var]->user->location . "<br/>";  
    echo "<br/>"; 
} 
?> 
+4

[本月將基本身份驗證設置爲從Twitter API中刪除](http://apiwiki.twitter.com/OAuth-FAQ#WhenareyougoingtoturnoffBasicAuth)。如果您希望此功能繼續工作超過幾周,請使用OAuth。 – Matchu 2010-06-13 00:18:58

+0

http://apiwiki.twitter.com/Things-Every-Developer-Should-知道這個鏈接不工作了... – 2012-01-05 16:14:05

+0

@Felix - 謝謝更新了鏈接。 – 2012-01-05 17:41:14

0

使用OAuth用戶庫專門爲Twitter的設計,如twitteroauth訪問此。

庫本身附帶示例。你可能能夠調整一些Peter的代碼來使用這個庫。