0

我有一些 PHP 代码可以从其 API 中检索 Twitter JSON 数据。我正在抓取一些东西,比如用户图片、屏幕名称、不。追随者和没有。的推文。

以后可能会为其他配置文件提供更多数据!

这是PHP代码:

<?php
            $data = json_decode(file_get_contents('https://api.twitter.com/1/users/show.json?callback=?&screen_name=guardian'), true);
            $data[0]['profile_image_url'];
            ?>

<?php
            $data = json_decode(file_get_contents('https://api.twitter.com/1/users/show.json?callback=?&screen_name=guardian'), true);
            echo $data[0]['screen_name'];
            ?>

<?php
            $data = json_decode(file_get_contents('https://api.twitter.com/1/users/show.json?callback=?&screen_name=guardian'), true);
            echo $data[0]['followers_count'];
            ?>

<?php
            $data = json_decode(file_get_contents('https://api.twitter.com/1/users/show.json?callback=?&screen_name=guardian'), true);
            echo $data[0]['statuses_count'];
            ?>

一切都很好,然后就没有了。我假设这是由于速率限制/我没有缓存的事实。

我对这一切都很陌生,所以我将如何为它设置缓存并让它每隔几个小时左右请求一次最新数据/基本上确保它不会填满&什么都不显示>。<

非常感谢任何帮助!

4

2 回答 2

0

这可能是因为速率限制。

Twitter 对未经身份验证的调用(对未使用 OAuth 进行身份验证的 API 进行的调用)实施速率限制。

“未经身份验证的呼叫每小时允许 150 个请求。未经身份验证的呼叫是根据发出请求的服务器或设备的面向公众的 IP 来衡量的。”

如果您使用的是共享主机,则您更有可能受到速率限制,因为在主机上使用相同 IP 的其他人也可能会查询 Twitter API(因此,计入该 IP 的每小时限制)。

您可以在Twitter 的速率限制限制网站以及速率限制常见问题解答网站上阅读有关这些限制的更多信息。

于 2012-10-14T01:15:37.313 回答
0

不是$data[0]['profile_image_url']

就放$data['profile_image_url']

于 2012-10-14T18:25:39.073 回答