无法解析 Facebook 图表的响应

问题描述 投票:0回答:1

我试图查明是否已为用户授予“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 类型的对象作为数组

php json facebook facebook-graph-api
1个回答
0
投票

就这样做-

$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";
}
© www.soinside.com 2019 - 2024. All rights reserved.