如何从graphobject中检索facebook用户名?

时间:2015-06-22 08:42:06

标签: php facebook

我正在尝试从facebook API检索facebook用户名,但我收到错误。

我尝试过以下代码

 $request = new FacebookRequest( $session, 'GET', '/me' );
  $response = $request->execute();
echo $user=$response->getName();

代码鼓励我从facebook检索用户名并运行successcesfull。      当我在这样的浏览器数据显示中执行时

 $graphObject = $response->getGraphObject();

echo = $graphObject;

这样的数据显示为GraphObject         Facebook \ GraphObject对象

    (
    [backingData:protected] => Array
            (
            [id] => 54665634
            [first_name] => somePerson
            [gender] => male
            [last_name] => SomePerson
            [link] => https://www.facebook.com/app_scoped_user_id/983427658473566/
            [locale] => id_ID
            [name] => SomePerson
            [timezone] => 7
            [updated_time] => 2015-05-13T14:47:40+0000
            [verified] => 1
        )

)

这是我的问题

  

致命错误:在第39行的C:\ xampp \ htdocs \ hacking \ fbtest.php中调用未定义的方法Facebook \ FacebookResponse :: getName()

所以我该如何解决?

2 个答案:

答案 0 :(得分:1)

您必须在图表对象

上使用方法getProperty
$request = new \Facebook\FacebookRequest($session, 'GET', '/me' );
$response = $request->execute();
$graphObject = $response->getGraphObject();
print_r($graphObject->getProperty('name'));

将在您的案例中打印SomePerson。或者只在图表对象上使用asArray,这会将私有backingData变量中的所有信息作为数组重新显示。

您可以查看GraphObject.php文件,您将看到可以使用的其他方法:

https://github.com/packetcode/fblogin-basic/blob/master/lib/Facebook/GraphObject.php

答案 1 :(得分:0)

新的v2 Graph API不再返回Facebook用户名,因此无法再进行此操作。查看current docs以了解您可以访问的字段。