解析来自Facebook图表的回复时遇到麻烦


Having trouble parsing a response from Facebook graph

我想知道'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";
}