我正在建立一个网站,从几个facebook页面(数百个)加载喜欢的数量。我为此目的使用json查询。 除了一页之外,一切都很完美。 This页面。为什么呢?
在这里的代码中:A是作品,B不是
<?php
$fblikeA = json_decode(file_get_contents('http://graph.facebook.com/270129920400'))->{'likes'};
$fblikeB = json_decode(file_get_contents('https://graph.facebook.com/303612927736'))->{'likes'};
echo '"None of the Above" likes = '.$fblikeA.'<br>';
echo '"Viva Voce" likes = '.$fblikeB.'<br>';
?>
我在外部php编译器上尝试过,它完全正常工作,所以它可能是我服务器的问题。
你会怎么说呢?
答案 0 :(得分:0)
它为我工作。
事情是file_get_contents
不推荐,因为它可能会在请求太多事情时多次失败。
所以,你应该使用curl。您可以直接使用以下功能:
function GetJSONFromCurl($url)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL,$url);
$JSON = curl_exec($ch);
return $JSON;
}
使用它就像这样:
$fblikeA = json_decode(GetJSONFromCurl('http://graph.facebook.com/270129920400'))->{'likes'};
那就是它!
答案 1 :(得分:0)
在php.ini中,如果不存在,可以添加以下行:
extension=php_openssl.dll
allow_url_fopen = On