在Facebook Graph API中,获取用户电子邮件地址和性别的API调用是什么?

时间:2014-12-01 02:22:08

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

我借助此链接使用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调用是什么?

非常感谢。

1 个答案:

答案 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');