我正在我的網站上集成FB登錄,爲此我需要用戶的電子郵件。這裏是代碼的一部分PHP - 圖表API 2.8不請求電子郵件
$fb = new Facebook\Facebook([
'app_id' => 'app-id',
'app_secret' => 'secret',
'default_graph_version' => 'v2.8',
]);
$helper = $fb->getJavaScriptHelper();
try {
$accessToken = $helper->getAccessToken();
} catch(Facebook\Exceptions\FacebookResponseException $e) {
// When Graph returns an error
echo 'Graph returned an error: ' . $e->getMessage();
} catch(Facebook\Exceptions\FacebookSDKException $e) {
// When validation fails or other local issues
echo 'Facebook SDK returned an error: ' . $e->getMessage();
}
if (isset($accessToken)) {
$fb->setDefaultAccessToken($accessToken);
try {
$requestProfile = $fb->get("/me?fields=name,email");
$profile = $requestProfile->getGraphNode()->asArray();
} catch(Facebook\Exceptions\FacebookResponseException $e) {
// When Graph returns an error
echo 'Graph returned an error: ' . $e->getMessage();
} catch(Facebook\Exceptions\FacebookSDKException $e) {
// When validation fails or other local issues
echo 'Facebook SDK returned an error: ' . $e->getMessage();
}
print_r($profile);
}
我回來的是名稱和ID。即使是要求用戶授予應用程序權限的彈出窗口也不會詢問電子郵件。可以理解的是,它不會返回它。
我見過this和許多其他問題,但沒有解決方案爲我工作。我究竟做錯了什麼?
_「即使是彈出窗口,要求用戶授予權限的應用程序不會要求電子郵件」_ - 這意味着_you_沒有要求您的代碼在您觸發登錄部分的權限。 – CBroe
啊..你可能會做些什麼。讓我調查javascript – VeeK