JSON可以';我不能只从一个Facebook页面获取数据


JSON can't get data from one Facebook page only

我正在建立一个网站,从几个facebook页面加载点赞数量(数百)。为此,我使用json查询。除了一页外,一切都很顺利。本页。为什么?

在这里的代码中: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编译器上尝试过,它在那里工作得很好,所以这可能是我的服务器的问题。

你会怎么说?

在php.ini中,如果不存在,可以添加以下行:

extension=php_openssl.dll
allow_url_fopen = On

它对我有用。

问题是不建议使用file_get_contents,因为它在请求太多东西时可能会失败好几次。

所以,你应该使用卷曲。您可以直接使用以下功能:

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'};

就是这样!