javascript - Facebook PHP SDK 如何从 Facebook JavaScript SDK 2014 获取用户电子邮件

标签 javascript php facebook facebook-graph-api sdk

我同时使用 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/

相关文章:

javascript - 如何使用 lodash 按 desc 顺序对时间戳数组进行排序

java - 可缩放剪贴蒙版

php - 如何在 PHP/MySQL API 的结果集中查找字段的源数据库名称?

ios - Facebook SDK,是否可以通过用户名获取所有用户?

javascript - 获取多边形的边界(JS)

javascript - Ajax 分配的变量在分配后无法访问

javascript - MongoDB 和 Node.js - 将整个模型推送到 ref 数组与推送 id 之间的区别

PHP:使用一个类来建立和返回一个PDO句柄

algorithm - 确定哪些 friend 也在 Facebook 和 appengine 上使用应用程序的最佳算法?

ios - Facebook 上针对 Unity SDK 6.0 的 FB.Init() 问题