我正在使用Twitterlibphp作为Twitter项目,并使用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
变量是正确的并使用我的凭据 < / p>
答案 0 :(得分:1)
从粗略的一瞥所提供的源代码,以及对Twitterlibphp知之甚少,看起来好像你看到了你提到的错误,因为Twitter最近放弃了对HTTP Basic Auth的支持。
根据文档here,OAuth是所有Twitter应用程序所需的新身份验证标准。有关Twitter OAuth支持的流行PHP实现,请参阅abraham的GitHub项目TwitterOAuth。