Facebook SDK for PHP や Opauth でFacebookからメールアドレスが取得できません。
Facebook SDK for PHP や Opauth を 使用してFacebookのアカウントでログインする仕組みを作ろうとしていますが、scopeでemailを指定してもメールアドレスが取得できず困っています。
①「developers.facebook.com」でアプリを作成し、「App ID」「App Secret」は取得しています。(v2.4)
②下記URLのFacebookの認証画面で「メールアドレスを受け取る」と書いてあり、OKを押しますが・・・
https://www.facebook.com/dialog/oauth?client_id=【App ID】&redirect_uri=【App Secret】&scope=email
③返ってきたアクセストークンを使用して下記URLから情報を取得しますが、ユーザー名とIDしか取得できません。
https://graph.facebook.com/me?access_token=【ACCESS_TOKEN】
④Facebook SDK for PHPの設定
$config = array(
'appId' => '【App ID】',
'secret' => '【App Secret】'
);
$facebook = new Facebook($config);
if ($facebook->getUser()) {
try {
$user = $facebook->api('/me','GET');
} catch(FacebookApiException $e) {
//取得に失敗したら例外をキャッチしてエラーログに出力
error_log($e->getType());
error_log($e->getMessage());
}
}
・
・
・
if (isset($user)) {
//ログイン済みでユーザー情報が取れていれば表示
echo '<pre>';
var_dump($user);
echo '</pre>';
} else {
//未ログインならログイン URL を取得してリンクを出力
$params = array('scope' => 'email', 'redirect_uri' => '【URL】');
$loginUrl = $facebook->getLoginUrl($params);
echo '<a href="' . $loginUrl . '">Login with Facebook</a>';
}
⑤Opauthの設定
// opauth.conf.php
・
・
・
'Strategy' => array(
// Define strategies and their respective configs here
'Facebook' => array(
'app_id' => '【App ID】',
'app_secret' => '【App Secret】',
'scope' => array('email')
),
),
・
・
・
以上、的を得た質問になっているかわかりませんが、よろしくお願いします。