我同时使用 Facebook PHP(4.0) 和 JS(2.0) SDK。 我可以使用 PHP 获取用户配置文件数据,但不能获取用户的电子邮件。 用户的电子邮件可通过 Javascript SDK 获得,但我需要在 PHP 中使用。
我正在使用:
$user_profile = (new FacebookRequest($session, 'GET', '/me'))->execute()->getGraphObject(GraphUser::className());
这行得通,但是 GraphUser 类在 4.0 中没有获取用户电子邮件的功能。
关于如何使用 Facebook PHP SDK 4.0 版获取用户电子邮件的任何想法?
最佳答案
// Facebook SDK v5 for PHP
// https://developers.facebook.com/docs/php/howto/example_access_token_from_javascript/5.0.0
session_start();
$fb = new Facebook\Facebook([
'app_id' => '{app-id}',
'app_secret' => '{app-secret}',
'default_graph_version' => 'v2.4',
]);
$helper = $fb->getJavaScriptHelper();
$accessToken = $helper->getAccessToken();
$fb->setDefaultAccessToken((string) $accessToken);
$response = $fb->get('/me?locale=en_US&fields=name,email');
$userNode = $response->getGraphUser();
var_dump(
$userNode->getField('email'), $userNode['email']
);
关于javascript - Facebook PHP SDK 如何从 Facebook JavaScript SDK 2014 获取用户电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24662427/