【发布时间】:2014-08-25 11:10:53
【问题描述】:
我正在尝试确定是否已为用户授予“publish_action”权限(使用 php)。
我可以查询图表了,我只是停留在解析响应以获取 publish_actions = 'granted'。
查询是:
$user_permissions = "https://graph.facebook.com/me/permissions?access_token=" .$access_token;
$permissions = json_decode(file_get_contents($user_permissions));
如果我打印响应
print_r($permissions);
我明白了……
stdClass 对象 ( [data] => 数组 ( [0] => stdClass 对象 ( [权限] => 已安装 [状态] => 授予) [1] => stdClass 对象 ( [permission] => public_profile [status] =>granted ) [2] => stdClass 对象 ( [permission] => publish_actions [status] => grant ) ) )
可捕获的致命错误:stdClass 类的对象无法转换 串起来
基本上我只是希望能够在 php 中分配一个变量 if publish_actions[status] == 'granted'
对此的任何帮助将不胜感激。
更新
尝试以下 Sahil 的建议:
$user_permissions = "https://graph.facebook.com/me/permissions?access_token=" .$access_token;
$permissions = json_decode(file_get_contents($user_permissions, TRUE));
$hasPublishPerm = false;
print_r($permissions['data']);
print_r($permissions);
foreach($permissions['data'] as $permission){
if($permission['permission']=="publish_actions" &&
$permission['status']=="granted"){
$hasPublishPerm = true;
break;
}
}
if($hasPublishPerm){
echo "User has granted the publish permission";
}
else{
echo "User has NOT granted the publish permission";
}
我收到此错误:
致命错误:不能在...中使用 stdClass 类型的对象作为数组
【问题讨论】:
标签: php json facebook facebook-graph-api graph