3

所以几天前 Twitter 遗憾地停止支持他们的 1.0 API。现在他们有一个新的 1.1 API,突然他们要求您对所有内容(包括获取最新状态)进行身份验证(创建应用程序、创建密钥、下载 oauth.php、下载 twitteroauth.php 等...)只是……呃!不,谢谢!

我只想有一个小 .php 脚本来获取用户的最新状态。必须有一种简单的方法来实现这一点而无需进行身份验证。

有人有想法吗?

编辑:你好谷歌同事。我自己找到了一个解决方案并将其发布在下面。一定要检查一下。

4

2 回答 2

2

在这里阅读:

https://dev.twitter.com/blog/changes-coming-to-twitter-api

例如,有许多应用程序以非常高的速率(抓取、机器人等)从 Twitter API 中提取数据,而我们只知道应用程序的 IP 地址。为了防止恶意使用 Twitter API并了解哪些类型的应用程序正在访问该 API,以便对其进行改进以满足开发人员的需求,了解 Twitter API 上的活动以及使用该 API 的应用程序非常重要平台。

在 1.1 版本中,我们将要求对 API 的每个请求都经过身份验证。对于在发出 API 请求时已经使用 OAuth 的开发人员,您的所有身份验证令牌都将从 v1.0 无缝过渡到 v1.1。如果您的应用程序当前使用 Twitter API 而不使用 OAuth,您将需要在 2013 年 3 月之前更新您的应用程序。下面有关于从 v1.0 转换到 v1.1 的时间的更多信息。

他们这样做是为了防止垃圾邮件发送者占用 Twitter 的带宽。对不起,伙计,你也必须遵守。

于 2013-06-17T13:50:55.087 回答
0

我使用http://www.twitter-rss.com/做了一个快速而肮脏的修复——我希望这个解决方案在它关闭之前运行一段时间。如果它不再起作用,请务必给我发消息,我会创建自己的 Twitter -> RSS 服务供你们使用。

好的,现在这里是关于如何在不使用他们的 API、创建应用程序或所有其他东西的情况下获取最新 Twitter 状态的代码。

function GetTwitterStatus($username){
    $url = "http://www.twitter-rss.com/user_timeline.php?screen_name=".$username;
    $xml = simplexml_load_file($url) or die("Could not connect.");
    $tweet = (string) $xml->channel->item[0]->title;
    $tweet = substr_replace($tweet, "", 0, strlen($username.": "));
    return $tweet;
}

echo GetTwitterStatus("Twitter");
于 2013-06-17T14:20:02.363 回答