Facebook OAuth数据捕获


Facebook OAuth Data Capturing

我需要将来自facebook的Oauth数据捕获到我的表中,我已经编写了以下代码

$app_id = "340088232675552";
$canvas_page = "https://apps.facebook.com/appluckyprice/index.php";
$auth_url = "https://www.facebook.com/dialog/oauth?client_id=" 
    . $app_id . "&redirect_uri=" . urlencode($canvas_page) . "&scope=email,user_birthday,user_hometown";

我正在使用

$data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);
$graph_url = 'https://graph.facebook.com/'.$data["user_id"].'';
$user = json_decode(file_get_contents($graph_url));
$user_email = $data['user']->email;
echo $user_email;

但它没有显示任何内容,如何捕获电子邮件?

默认情况下,不会从Graph API user对象中获取email字段,需要通过传递fields参数来显式请求它。

$graph_url = 'https://graph.facebook.com/me?fields=email&access_token='.$data["oauth_token"];