1

这是我得到的错误:

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");
          ?>
4

3 回答 3

0

如果您将浏览器指向第一条错误消息中的 URL,您将看到以下消息:“Twitter REST API v1 不再活动。请迁移到 API v1.1。”

简而言之:您需要一个 Twitter 开发人员帐户,一个 Twitter 中的“应用程序”,并且您的 PHP 必须更改为读取 JSON 格式的响应,而不是 XML 格式的响应。

有关更多详细信息,请查看以下问题:Simplest PHP example for retrieving user_timeline with Twitter API version 1.1

但也许你想要的只是一个嵌入式时间线,它可以直接将你的推文(可以回复和所有)放在网页上?在您的 Twitter 帐户设置中,您可以为此创建一个小部件。设置选项并将 HTML 代码复制并粘贴到您的页面上。

于 2013-11-11T02:46:48.820 回答
0

Twitter API v1 不再有效。您将需要继续使用新的 API (v 1.1)。

于 2013-11-11T02:54:09.170 回答
0

如果您正在寻找非常简单的 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));
于 2013-11-12T01:30:34.153 回答