Facebook Connectへの接続を確立しようとしましたが、処理がうまくいって、ユーザー名とIDを取得できますが、$権限で送信された情報は考慮されません。私は事を忘れてしまったでしょうか? 私はFacebookの開発者が入手できる文書に従った。 私は最新バージョンを使用します。PHP SDK 5.2Facebookの接続許可PHP SDK
public function facebook() {
session_start();
require '../Vendor/autoload.php';
$fb = new Facebook\Facebook([
'app_id' => 'ID_APP',
'app_secret' => 'SECRET_APP',
'default_graph_version' => 'v2.5',
]);
$helper = $fb->getRedirectLoginHelper();
$permissions = ['email', 'user_location','user_birthday']; // optional
$loginUrl = $helper->getLoginUrl('http://localhost/Weade/connexion/check_facebook', $permissions);
$this->redirect($loginUrl);
}
public function check_facebook() {
session_start();
require '../Vendor/autoload.php';
$fb = new Facebook\Facebook([
'app_id' => 'APP_ID',
'app_secret' => 'APP_SECRET',
'default_graph_version' => 'v2.5',
]);
$helper = $fb->getRedirectLoginHelper();
try {
$accessToken = $helper->getAccessToken();
} catch(Facebook\Exceptions\FacebookResponseException $e) {
// When Graph returns an error
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
// When validation fails or other local issues
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
if (isset($accessToken)) {
// Logged in!
$_SESSION['facebook_access_token'] = (string) $accessToken;
// Now you can redirect to another page and use the
// access token from $_SESSION['facebook_access_token']
}
if($this->Session->read('facebook_access_token')) {
$fb->setDefaultAccessToken($this->Session->read('facebook_access_token'));
try {
$response = $fb->get('/me');
$userNode = $response->getGraphUser();
debug($userNode);
} catch(Facebook\Exceptions\FacebookResponseException $e) {
// When Graph returns an error
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
// When validation fails or other local issues
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
}
}
おかげで、
ありがとうございました!私は1つの生年月日を除くすべての希望の値を回復しています。私はuser_birthdayが私にエラーと誕生日を返します。 **エラーuser_birthday ** 'グラフがエラーを返しました:(#100)は、ノードタイプ(ユーザー)' **誕生日** '\アプリ\コントローラ\がUserControllerに(user_birthday)存在しないフィールドにアクセスしようとしました.PHP(ライン148) オブジェクト(Facebookの\ GraphNodes \ GraphUser){ \t [保護]アイテム=>アレイ( \t \t 'ID' => 'ID_USER_FACEBOOK' \t) } ' なぜ誕生日は表示されませんか? はあなただけ – Darkh
感謝します'$ response = $ fb-> get( '/ me?fields = birthday'); $ user = $ response-> getGraphUser(); デバッグ($ユーザー); '' 私はIDのみ –
https://developers.facebook.com/docs/graph-api/reference/user –