推特读取错误


Twitter read error

这是我得到的错误:

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));