我正在尝试从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()
所以我该如何解决?
答案 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以了解您可以访问的字段。