2016-03-19 6 views
-1

私はこのようなコードを持っています。どうして?私は間違っているの?PHPのFacebook APIメールリターンヌル

+0

ユーザーはあなたのメールアドレスにアクセスするためのアプリケーションを許可されていない可能性がありますか?あなたはそれを自分で試しましたか? –

答えて

0

ユーザーにログインするときは、をscopeパラメータで渡す必要があります。

ですから、あなたのヘルパーを呼び出すときに、また$permissions配列初期化:

$helper = new FacebookRedirectLoginHelper('http://MyAwesomeWebsite.com/'); 
$permissions = ['email', 'public_profile']; 

あなたのコード内のどこかに$helper->getLoginUrl呼び出しがあるはずですが。ユーザーの電子メールを取得するための許可を明示的にユーザーに要求し

$loginUrl = $helper->getLoginUrl($placeYourCallbackURLHere, $permissions); 

:それではあなたが2番目のパラメータとして$permissions変数を渡す必要があります呼び出します。ユーザーが持っている場合は、電子メールでも、空であることに注意してください:

  1. は、彼らがでメールアドレスを提供しないことを選択した(Faceebookにメールアドレスを持っていない)電話番号経由のFacebookに登録ログインプロンプト
+0

ありがとう、私はこのソリューションは私のためではないようにユーザーを登録するための上記の生のコードを使用しています:/ –

+0

@FilipNowacki Facebookでのユーザーログインには何を使用していますか?あなたのコードに合わせて答えを変更することができます。ポイントは、あなたのコードのどこかに 'scope =" email "パラメータがないことです。あなたの質問にログインコードを含めることができますか? – jehna1

+0

Facebook APIを使用して、自分のWebサイトにログインしてユーザーを登録しています。 私のログインコードはとてもシンプルです。アドレスがmywebsite.com/register_fbのしかないので、メイン質問のコードの上にあるので、scope = "email"を挿入するのは難しいと思います。 –