我想知道'publish_action'的权限是否已被授予用户(使用php)。
我可以查询图形ok,我只是停留在解析响应,以便能够得到publish_actions = '授予'。
查询的方法是:
$ user_permissions ="https://graph.facebook.com/me/permissions?access_token="access_token美元;
$permissions = json_decode(file_get_contents($user_permissions));
如果我输出响应
print_r(权限);
我得到……
stdClass Object ([data] => Array ([0] => stdClass Object ([permission] => installed [status] =>已授予)[1]=> stdClass对象([permission] => public_profile [status] =>已授予)[2]=> stdClassObject ([permission] => publish_actions [status] =>已授予))
可捕获致命错误:类stdClass的对象无法转换字符串
基本上我只是想能够在php中分配一个变量如果publish_actions[status] == '授予'
如果有任何帮助,我将不胜感激。
尝试下面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";
}