我试图查明是否已为用户授予“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($权限);
我明白了...
stdClass 对象 ( [data] => 数组 ( [0] => stdClass 对象 ( [权限] => 已安装 [状态] => 已授予 ) [1] => stdClass 对象 ( [权限] => public_profile [状态] => 已授予 ) [2] => stdClass 对象 ( [权限] =>publish_actions[状态] => 已授予 ) ) )
可捕获的致命错误:无法转换类 stdClass 的对象 串起来
基本上我只是希望能够在 php 中分配一个变量 ifpublish_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 类型的对象作为数组
就这样做-
$hasPublishPerm = false;
foreach($permissions['data'] as $permission){
if($permission['permission']=="publish_actions" &&
$permission['status']=="grantedd"){
$hasPublishPerm = true;
break;
}
}
if($hasPublishPerm){
echo "User has granted the publish permission";
}
else{
echo "User has NOT granted the publish permission";
}