2011-06-24 305 views
0

我使用Twitterlibphp作爲Twitter項目並使用getFriendsTimeline()方法獲取我的家庭時間軸。問題是,這種代碼:getFriendsTimeline無返回

<?php 
    // require the twitter library 
    require "scripts/twitter.lib.php"; 

    // your twitter username and password 
    $username = "MyUser"; 
    $password = "MyPass"; 

    // initialize the twitter class 
    $twitter = new Twitter($username, $password); 

    // fetch public timeline in xml format 
    $options = array("count" => 20); 
    $xml = $twitter->getFriendsTimeline($options); 
    //$xml = $twitter->getPublicTimeline(); 

    $twitter_status = new SimpleXMLElement($xml); 
    foreach($twitter_status->status as $status) { 
     foreach($status->user as $user) { 
       echo '<li class="tweet"><img src="' . $user->profile_image_url . '" class="twitter_image">'; 
       echo '<a href="http://www.twitter.com/' . $user->name . '">' . $user->name . '</a>: '; 
     } 
     echo $status->text; 
     echo '<br/>'; 
     echo '<div class="twitter_posted_at">Posted at: ' . $status->created_at . '</div>'; 
     echo "</li>"; 
    } 
?> 

當我試圖echo $xml我得到這樣的響應:

基本身份驗證不支持

我做錯了什麼?

在我試用此代碼之前,我正確使用了getPublicTimeline(),沒有任何問題。

PS:在我的源代碼$username$password變量是正確的,並使用我的憑據

回答

1

從提供,並與Twitterlibphp知之甚少的源代碼粗略地看一眼,似乎就好像你看到你提到的錯誤,因爲Twitter最近已經放棄了對HTTP Basic Auth的支持。

如文獻here所述,OAuth是所有Twitter應用程序所需的新的認證標準。有關Twitter OAuth支持的流行PHP實現,請參閱abraham的GitHub項目TwitterOAuth

+0

那麼,我需要更改我的代碼才能使用OAuth? –

+0

我已更新我的答案,以提供更多信息。 – ndg

+0

謝謝。正如我所見,我將有很多工作來轉換代碼... –