2015-06-23 197 views
-1
try { 

        $response = (new FacebookRequest($session, 'GET', '/me/permissions'))->execute(); 
        $object = $response->getGraphObject() -> asArray(); 
        echo '<pre>'; 
        print_r($object); 
        echo '</pre>'; 

        //problem lies over here 
        for($i = 0 ; $i <count($object['data']); $i++){ 
         echo "<br>" . $object['data'][$i] -> permission; 
        } 
       } 
       catch (FacebookRequestException $ex) { 
        echo $ex->getMessage(); 
        } catch (\Exception $ex) { 
        echo $ex->getMessage(); 
       } 

print_r($ object)的结果是这样的。 如何使用for循环仅打印出权限? count($ object ['data'])给了我一个错误,指出'data'没有被定义。Facebook Permission Graph API

Array 
(
    [0] => stdClass Object 
    (
     [permission] => user_likes 
     [status] => granted 
    ) 

[1] => stdClass Object 
    (
     [permission] => user_friends 
     [status] => granted 
    ) 

[2] => stdClass Object 
    (
     [permission] => publish_actions 
     [status] => granted 
    ) 
) 

回答

0

我没有看到一个data属性,当你做print_r($object)。尝试

for($i = 0 ; $i <count($object); $i++){ 
    echo "<br>" . $object[$i] -> permission; 
} 
+0

谢谢!我花了整整一天的时间来解决这个问题。 –