facebook - 从 Facebook graphObject 读取数据

标签 facebook facebook-graph-api facebook-php-sdk

用户已接受我的 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');

More examples and documentation here

关于facebook - 从 Facebook graphObject 读取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23541431/

相关文章:

facebook-graph-api - pages.isFan 返回不正确的签名

swift - 从一个 View Controller 获取 Facebook 值(电子邮件、姓名等)并将它们传输到另一个 View Controller

php - 在像 Facebook 这样的 jomsocial 墙中添加 href

javascript - 使用 Facebook 的 Loopbackjs 社交登录

c++ - 从 c/c++ 或 linux 发布到 facebook 墙上

facebook - 在未经验证的情况下为其他用户的页面创建广告

php - Graph API 新提要帖子对象 - 附件未显示

ios, facebook 和获取个人资料图片

facebook - Facebook 应用程序的访问 token 是否会过期?

javascript - Instagram Stories API 中的 'user' 是谁