我正在使用Graph API,但我不知道如何获取登录用户的电子邮件地址。
Graph简介指出:“Graph API可以提供对所有基本帐户注册数据的访问,您通常会在站点的注册表单中请求这些数据,包括名称、电子邮件地址、头像和生日。”
一切都很好,但是我如何访问这些信息呢?
这就是我到目前为止所知道的:
$json = $facebook->api('/me');
$first = $json['first_name']; // gets first name
$last = $json['last_name'];
发布于 2010-09-01 01:55:15
获取用户电子邮件地址的唯一方法是请求电子邮件字段的扩展权限。用户必须允许您查看此内容,并且您无法获取用户朋友的电子邮件地址。
http://developers.facebook.com/docs/authentication/permissions
如果您正在使用Facebook connect,则可以通过在调用Auth对话框的get字符串中传递scope=email来执行此操作。
发布于 2015-08-01 23:17:09
// Facebook SDK v5 for PHP
// https://developers.facebook.com/docs/php/gettingstarted/5.0.0
$fb = new Facebook\Facebook([
'app_id' => '{app-id}',
'app_secret' => '{app-secret}',
'default_graph_version' => 'v2.4',
]);
$fb->setDefaultAccessToken($_SESSION['facebook_access_token']);
$response = $fb->get('/me?locale=en_US&fields=name,email');
$userNode = $response->getGraphUser();
var_dump(
$userNode->getField('email'), $userNode['email']
);
发布于 2011-12-02 15:28:39
在function getLoginUrl()
中打开base_facebook.php Add Access_token
array_merge(array(
'access_token' => $this->getAccessToken(),
'client_id' => $this->getAppId(),
'redirect_uri' => $currentUrl, // possibly overwritten
'state' => $this->state),
$params);
并使用电子邮件权限的范围
if ($user) {
echo $logoutUrl = $facebook->getLogoutUrl();
} else {
echo $loginUrl = $facebook->getLoginUrl(array('scope' => 'email,read_stream'));
}
https://stackoverflow.com/questions/3611682
复制相似问题