0

こんにちは、Facebook API に問題がありますが、メールを取得する許可を求めていますが、メールの値を取得できません。何が間違っていますか? ここに私のコード:

    $facebook = new Facebook(array(
  'appId'  => 'xxxxxxxx',
  'secret' => 'xxxxxxxxxx',
  'cookie' => false
));

// See if there is a user from a cookie
$fbuser = $facebook->getUser();

if ($fbuser) {
  try {
    // Proceed knowing you have a logged in user who's authenticated.
    $FBUSER = $facebook->api('/me');
    $FBUSER1 = $facebook->api('/me');
    print_r($FBUSER1);
  } catch (FacebookApiException $e) {
    print_r($e);
    $USER=false;
  }
}
    $loginUrl = $facebook->getLoginUrl(array("scope"=>"email, publish_actions"));
4

2 に答える 2

1

数日前、私はアプリの同様のログイン/承認ビットをコーディングしていましたが、フローステップを適切に注文するまで同様の結果が得られました。

あなたのスニペットから、ユーザーが実際にアプリに拡張アクセス許可を付与する前に $fbuser 配列を印刷しているように見えます。Facebook にログインしている自分のアカウントでいくつかのテストを行っているとします。基本的なアクセス許可でアプリを一度承認すると、アカウントからこれらの基本的なデータが返されます (「電子メール」は拡張されたアクセス許可に属しているため)。パーマ)。

コードを追加すると理解が深まる可能性がありますが、次のことを再確認します。 1. FB getLoginURL() メソッドからのページ/ポップアップが表示され、ユーザーはログイン (そうでない場合) と必要に応じて拡張アクセス許可の承認の両方を受け入れます。 . 2. Web サイトの return_uri コードは、前のステップからのデータを取得する準備ができています (例: ユーザーの詳細を出力します)。

コードからわかるように、return_uri が定義されていないことに注意してください。

于 2013-01-28T23:30:05.747 に答える
0

access_token なしでリクエストを送信すると、email なしの短いフィールド セットといくつかの異なるフィールドが取得されます。

于 2013-01-29T19:32:37.367 に答える