Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Facebook 使用fb graph登录到画布应用程序时如何获取电子邮件?_Facebook_Facebook Login_Facebook Canvas_Facebook Graph Api - Fatal编程技术网

Facebook 使用fb graph登录到画布应用程序时如何获取电子邮件?

Facebook 使用fb graph登录到画布应用程序时如何获取电子邮件?,facebook,facebook-login,facebook-canvas,facebook-graph-api,Facebook,Facebook Login,Facebook Canvas,Facebook Graph Api,我想在用户仅使用fb graph api登录我的facebook画布应用程序时收到用户电子邮件?我不想使用facebook php sdk,因为我无法使用此代码处理它(实际上,我尝试了很多次,但失败了)Plz帮助 $app\u id=“xxxxxxx”; $canvas_page=“xxxxxxxx”; $auth_url=”http://www.facebook.com/dialog/oauth?client_id=" . $应用程序id。“&重定向_uri=”。urlencode($canv

我想在用户仅使用fb graph api登录我的facebook画布应用程序时收到用户电子邮件?我不想使用facebook php sdk,因为我无法使用此代码处理它(实际上,我尝试了很多次,但失败了)Plz帮助

$app\u id=“xxxxxxx”;
$canvas_page=“xxxxxxxx”;
$auth_url=”http://www.facebook.com/dialog/oauth?client_id=" . $应用程序id。“&重定向_uri=”。urlencode($canvas_page);
$signed_request=$_request[“signed_request”];
列表($encoded_sig,$payload)=分解('.',$signed_请求,2);
$data=json_解码(base64_解码(strtr($payload,'-'','+/')),TRUE);
if(空($data[“user\u id”]))
{
echo(“top.location.href=”。$auth_url。””;
} 
其他的
{
echo(“欢迎用户:”.$data[“用户id]”);
echo(“欢迎用户:”.$data[“email”]);//我试过这个
}

可以在FB API的
用户
对象中找到“电子邮件”字段,但前提是您明确要求
电子邮件
权限。有许多方法可以请求此权限,例如

$param['scope'] = "email";
$login_url = $facebook->getLoginUrl($param);
echo 'Please <a href="' . $login_url . '">login.</a>';

$param['scope'] = "email";
$login_url = $facebook->getLoginUrl($param);
echo 'Please <a href="' . $login_url . '">login.</a>';
$user_profile = $facebook->api('/me','GET');
echo "email: ".$user_profile['email'];