用户已接受我的Facebook应用程序。我现在可以访问他们的一些数据。它以graphObject的形式返回,其中包含类似以下内容的内容:



不幸的是,我无法获得该对象内部的数据。像数组一样读取它会引发错误:

$fbid = $graphObject['id']; // Cannot use object of type Facebook\GraphObject as array
$fbid = $graphObject->id; //  Undefined property: Facebook\GraphObject::$id

我如何获得身份证?

最佳答案

如果使用以下两种方法之一将响应转换为GraphObject:

// Get the response typed as a GraphLocation
$loc = $response->getGraphObject(GraphLocation::className());

// or convert the base object previously accessed
// $loc = $object->cast(GraphLocation::className());

您可以使用图形对象的Get属性,具体取决于您将其强制转换为哪种对象...这是GraphUser对象的示例:
echo $user->getName();

或者,如果您知道属性的名称(如基础数据中所示),则可以使用getProperty():
echo $object->getProperty('name');

因此,在您的示例中,可以使用以下命令获取id属性:
echo $user->getProperty('id');

More examples and documentation here

09-11 20:22