您可以使用http://graph.facebook.com/http://www.mysite.com/my-post/
获取json在Facebook上分享任何网址的次数所以 - 随机捣乱的帖子:http://graph.facebook.com/http://mashable.com/2012/11/30/facebook-cover-photo-crackdown/
目前给我:
{
"id": "http://mashable.com/2012/11/30/facebook-cover-photo-crackdown/",
"shares": 1663
}
我有大约2,000个网址,我想循环将“Facebook共享”列添加到网址效果统计信息表中。
这是我的代码
foreach($mergeddata as $item) {
$url = "$item['url'];
$graphurl = "http://graph.facebook.com/";
$fb = json_decode(file_get_contents($graphurl.$url), true);
echo "<td>";
if(isset($fb['shares'])) {
echo $fb['shares'];
}
else {
echo 0;
}
echo "</td>";
}
我正在使用isset,因为有可能这些网址中的一些从未被fb共享。
问题和我的问题。
我在WAMP对我大吼大叫之前得到了480行结果“致命错误:C:\ wamp \ www中超出了60秒的最大执行时间......”
此操作真的花了太长时间或 Facebook是否会在某个时刻切断我,导致循环超时?我没有使用任何类型的api密钥,所以他们可以通过我的IP地址关闭我吗?
我知道可能有一种更有效的方法来执行此操作,例如批处理请求或FQL进行一次调用并将结果与我现有的表绑定...但这看起来很复杂。
任何想法或帮助都将受到赞赏。