我借助此链接使用Graph API和Facebook SDK for PHP:https://developers.facebook.com/docs/php/howto/profilewithgraphapi/4.0.0。这是代码:
use Facebook\FacebookRequest;
use Facebook\GraphUser;
use Facebook\FacebookRequestException;
if($session) {
try {
$user_profile = (new FacebookRequest(
$session, 'GET', '/me'
))->execute()->getGraphObject(GraphUser::className());
echo "Name: " . $user_profile->getName();
} catch(FacebookRequestException $e) {
echo "Exception occured, code: " . $e->getCode();
echo " with message: " . $e->getMessage();
}
}
我可以使用user_profile->getName();
获取用户名,我也可以获得他/她的名字,姓氏,中间名等,根据这里的API调用:https://developers.facebook.com/docs/php/GraphObject/#user-instance-methods。我知道可以获取用户的电子邮件地址和性别,但在之前的链接中,我没有找到任何API调用来获取此信息。
对于Facebook SDK for PHP,获取用户电子邮件地址和性别的API调用是什么?
非常感谢。
答案 0 :(得分:5)
看看
获取可以查询用户对象的字段和边的概述。在你的情况下,那应该是
/me?fields=id,gender,email
或
new FacebookRequest(
$session, 'GET', '/me?fields=id,gender,email'
)
请注意,您需要user_email
权限才能请求email
字段。
要获取特定字段,请使用https://developers.facebook.com/docs/php/GraphObject/#getproperty
中所述的getProperty()
方法
echo $user_profile->getProperty('gender');