0

応募する前に、ユーザーがページを気に入っているかどうかを確認するコンテストエントリーを作成しようとしています。参加している場合は、コンテストのエントリーの詳細について、名前、メールアドレス、誕生日を取得します。

ただし、何らかの理由でPHPコードを機能させることができません。

    <?php
    require 'src/facebook.php';

    // Create our Application instance (replace this with your appId and secret).
  $facebook = new Facebook(array(
    'appId'  => 'XXX',
    'secret' => 'XXXX',
  'cooke' => true
));

// Get User ID

$user = $facebook->getUser();

if ($user) {
  try {
    // Proceed knowing you have a logged in user who's authenticated.
    $me = $facebook->api('/me?fields=likes.target_id(215359398497970),birthday,first_name,last_name,email');
    if($me){
        $first_name = $me['first_name'];
        $last_name = $me['last_name'];
        $email = $me['email'];
        $dob = $me['birthday'];
        die($me);
    } else {
        $likes = false;
    }
  } catch (FacebookApiException $e) {
    die($e);
    error_log($e);
    $user = null;
  }
}

// Login or logout url will be needed depending on current user state.
if ($user) {
  $logoutUrl = $facebook->getLogoutUrl();
} else {
  $loginUrl = $facebook->getLoginUrl();
  //echo $loginUrl;
}
?>

何らかの理由で、loginURLがユーザーにログインしていないように見えるため、リダイレクトループでスタックします。

4

2 に答える 2

0

まだ探している人のために。これが私の問題を解決した方法です。他のコードの前にtheisコードが実行されていることを確認する必要があったので、phpファイルの一番上に配置して機能しました。問題は、ヘッダーがすでに送信されていることだと思いますが、PHPの警告/エラーが表示されないため、気づいていませんでした。

于 2013-03-28T15:43:22.983 に答える
0

私は同じ問題に遭遇しました。サンプルプロジェクトを使用しましたが、なぜ0が返されるのか理解できませんでした。ここでほぼすべての関連リンクを試しましたが、解決しませんでした。

解決策は、サンプルプロジェクトでFacebookのSDKファイルを更新することでした。シンプルで見逃しやすい、

于 2013-08-31T18:18:47.310 に答える