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