ホームページ > バックエンド開発 > PHPチュートリアル > Facebook PHP SDK の `getUser()` が常に 0 を返すのはなぜですか?

Facebook PHP SDK の `getUser()` が常に 0 を返すのはなぜですか?

Mary-Kate Olsen
リリース: 2024-11-23 03:41:09
オリジナル
876 人が閲覧しました

Why Does Facebook PHP SDK's `getUser()` Always Return 0?

Facebook PHP SDK getUser() が常に 0 を返すのはなぜですか?

Facebook 統合 Web サイトのユーザー認証プロセスでは、これは、PHP SDK の getUser() 関数が正しいユーザー ID を返すために重要です。ただし、一部の開発者は、ユーザーがアプリを承認した後でも、この関数が一貫して 0 を返すという問題に遭遇しています。

問題の理解

関数は $_REQUEST スーパーグローバルをチェックします。 code パラメータは、認証後に Facebook によって設定されます。ただし、特定の環境では、$_REQUEST スーパーグローバルが $_GET、$_POST、$_COOKIE と適切にマージされない場合があります。

解決策

1 つの解決策は、手動で行うことです。変更された getCode() 関数に示すように、これらのスーパーグローバルを新しい変数にマージします。以下:

protected function getCode() {
    $server_info = array_merge($_GET, $_POST, $_COOKIE);

    if (isset($server_info['code'])) {
        // Rest of the function logic...
    }
}
ログイン後にコピー

追加の考慮事項

getCode() の修正に加えて、Facebook 開発者ポータルで次の設定が正しく構成されていることを確認することが重要です。 :

  • サイト URL:アプリがホストされています
  • サイト ドメイン: サブドメインなしの Web サイトのドメイン

これらの設定は、Facebook が承認されたアプリを識別し、ユーザーを正しいアプリにリダイレクトするのに役立ちます。後の場所authorization.

結論

$_REQUEST スーパーグローバルを正しくマージし、Facebook Developers Portal で正確な設定を確保することで、開発者は Facebook PHP SDK getUser() で発生する問題を解決できます。 0 を返します。これにより、Web サイトが Facebook とシームレスに統合され、カスタマイズされたエクスペリエンスのためのユーザー情報を取得できるようになります。

以上がFacebook PHP SDK の `getUser()` が常に 0 を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート