这是我得到的错误:
Warning: simplexml_load_file(http://api.twitter.com/1/statuses/user_timeline/razefm.xml?count=4): failed to open stream: HTTP request failed! HTTP/1.0 410 Gone in /home/tweets.php on line 44
Warning: simplexml_load_file(): I/O warning : failed to load external entity "http://api.twitter.com/1/statuses/user_timeline/razefm.xml?count=4" in /home/tweets.php on line 44
我在第 44 行的内容是:
$url = "http://api.twitter.com/1/statuses/user_timeline/{$username}.xml?count=4";
$feed = simplexml_load_file($url); <--- Line 44
我知道Twitter最近对其API进行了一些更改,但由于某种原因,我不知道我做错了什么。有什么建议吗?
这是我的索引:
<?php
$username = "razefm";//your twitter username
$number = 4;//number of tweets
include ("{$dir}/php/tweets.php");
?>
如果你将浏览器指向第一条错误消息中的网址,你将看到以下消息:"Twitter REST API v1 不再处于活动状态。请迁移到 API v1.1。
简而言之:你需要一个Twitter开发者帐户,Twitter中的一个"App",并且你的PHP必须被更改为读取JSON格式的响应,而不是XML格式。
有关更多详细信息,请查看此问题:使用 Twitter API 版本 1.1 检索user_timeline的最简单 PHP 示例。
但也许你想要的只是一个嵌入式时间线,直接将您的推文(有可能回复和所有)放在网页上?在您的Twitter帐户设置中,您可以为此创建一个小部件。设置选项并将HTML代码复制并粘贴到页面上。
Twitter API
v1 不再处于活动状态。 您需要转到新的 API (v 1.1)。
如果你
正在寻找非常简单的Twitter库,我推荐我的 https://github.com/vojant/Twitter-php
当然,你必须创建Twitter应用程序才能与Twitter api进行交互,你可以在这里做:https://dev.twitter.com/apps
如果要读取用户的时间线,下面是以下示例:
$consumerKey = YOUR TWITTER CONSUMER KEY
$consumerSecret = YOUR TWITTER CONSUMER SECRET
$accessToken = YOUR TWITTER ACCESS TOKEN
$accessTokenSecret = YOUR TWITTER ACCESS TOKE SECRET
//Name of Twitter user
$userName = '';
$twitter = new 'TwitterPhp'RestApi($consumerKey,$consumerSecret,$accessToken,$accessTokenSecret);
$connectionUser = $twitter->connectAsUser();
$connectionUser->get('statuses/user_timeline',array('screen_name' => $userName));