【发布时间】:2016-09-10 09:30:21
【问题描述】:
我有以下代码来获取fb页面列表
$graph_url_pages = "https://graph.facebook.com/me/accounts?access_token=".$_SESSION['token'];
$pagedata=file_get_contents($graph_url_pages);
echo "DATA : <br>";
print_r($pagedata);
$pages=json_decode($pagedata,true);
var_dump($pages);
$dropdown = "";
for($i=0;$i<count($pages->data);$i++)
{
if($me=="iamindex"){
$dropdown .= "<option value='".$pages->data[$i]->access_token."-".$pages->data[$i]->id."'>".$pages->data[$i]->name."</option>";
}elseif($me=="iammulti"){
$dropdown .= "<input type='checkbox' name='page' id='status' value='".$pages->data[$i]->access_token."-".$pages->data[$i]->id."'>".$pages->data[$i]->name."<br>";
}else{$dropdown.="<option value=''>No Category Selection</option>";}
}
$pagedata 和 $pages 为空,因此不会填充下拉菜单。
我在页面顶部的某个地方使用Ob_start(),最后是Ob_flush();,它们是需要的。不知道是不是这个问题。
如果有人能指出出了什么问题,那就太好了!如果需要更多代码,我可以提供。请注意,我是一名业余程序员。自学。
【问题讨论】:
-
尝试使用 curl,这样您就可以获得 Facebook 可能返回的错误代码。或者,php 中的安全模式可能已打开,或者流包装器可能已禁用。签入 php.ini
-
您在 file_get_contents 之前回显或打印?
-
可能是 allow_url_fopen=0 在您的 php.ini 文件中由于某些安全目的尝试使用 curl
-
您确定您的访问令牌是包含 manage_pages 权限的有效用户访问令牌吗?顺便说一句,绝对使用 curl。
-
您好,当我使用 JYoThl 使用的 curl 方法时,我收到以下消息 -- {"error":{"message":"来自服务器的 API 调用需要 appsecret_proof 参数","type" :"GraphMethodException","code":100,"fbtrace_id":"F0C3Ly6IpJN"}}
标签: php json facebook facebook-graph-api file-get-contents