[英]Twitter API Caching?
我有一些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'];
?>
一切运行良好, 然后就不复存在了。 我假设这是由于速率限制/我没有缓存的事实。
我对所有这些都是新手,所以我将如何为其设置缓存,并使其每隔几个小时左右请求最新数据/基本上确保它不会填满并且什么也不显示。
非常感谢任何帮助!
这可能是因为速率限制。
Twitter对未经身份验证的调用(未使用OAuth验证对API的调用)实施速率限制。
“未经身份验证的呼叫每小时允许150个请求。未经身份验证的呼叫将根据发出请求的服务器或设备的面向公众的IP进行测量。”
如果您使用共享主机,则它更有可能受到速率限制,因为在主机上使用相同IP的其他人也可以查询Twitter API(因此,计入该IP的小时限制)。
您可以在Twitter的“限速限制”网站以及“ 限速常见问题”网站上阅读有关这些限制的更多信息 。
不是$data[0]['profile_image_url']
只需输入$data['profile_image_url']
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.