用户已接受我的 Facebook 应用程序。我现在可以访问他们的一些数据。它作为 graphObject
返回,其中包含如下内容:
Facebook\GraphObject Object ( [backingData:protected] => Array ( [id] => 11111 [first_name] => Bob [gender] => male [last_name] => Builder [link] => https://www.facebook.com/app_scoped_user_id/11111/ [locale] => de_DE [name] => Bob Builder [timezone] => 2 [updated_time] => 2014-02-14T14:35:54+0000 [verified] => 1 ) )
不幸的是,我无法获取该对象中的数据。像读取数组一样读取它会引发错误:
$fbid = $graphObject['id']; // Cannot use object of type Facebook\GraphObject as array
$fbid = $graphObject->id; // Undefined property: Facebook\GraphObject::$id
如何获取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');
关于facebook - 从 Facebook graphObject 读取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23541431/