ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript を使用して Facebook ユーザーが私のページを気に入ったかどうかを確実に判断するにはどうすればよいですか?

JavaScript を使用して Facebook ユーザーが私のページを気に入ったかどうかを確実に判断するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-25 09:47:07
オリジナル
326 人が閲覧しました

How Can I Reliably Determine if a Facebook User Has Liked My Page Using JavaScript?

JavaScript API を使用した Facebook ページのアフィニティの決定

iFrame アプリケーションのコンテキストでは、ユーザーがページに「いいね!」したかどうかを確認するタスク特定の Facebook ページに遭遇する可能性があります。ただし、この機能を実装しようとしているときに矛盾が発生することは珍しいことではありません。

次のコード スニペットを考えてみましょう:

FB.api({
    method:     "pages.isFan",
    page_id:        my_page_id,
},  function(response) {
        console.log(response);
        if(response){
            alert('You Likey');
        } else {
            alert('You not Likey :(');
        }
    }
);
ログイン後にコピー

このコードを実行すると、たとえ「False」という不可解な結果が得られます。ただし、問題のユーザーは実際に関連ページを「いいね」しました。この矛盾の背後にある原因は、対処されていない拡張許可の必要性にあります。

署名付きリクエストを使用した代替アプローチ

この問題を回避し、確実にユーザーの「いいね」ステータスに応じて、署名付きリクエスト メカニズムを利用した代替アプローチを使用することもできます。 Facebook 内で「OAuth 2.0 for Canvas」詳細オプションを有効にすると、すべてのタブ アプリ リクエストで、ユーザーの「いいね」ステータスなどの重要な情報を含む署名付きリクエストを取得できます。

function parsePageSignedRequest() {
    if (isset($_REQUEST['signed_request'])) {
      $encoded_sig = null;
      $payload = null;
      list($encoded_sig, $payload) = explode('.', $_REQUEST['signed_request'], 2);
      $sig = base64_decode(strtr($encoded_sig, '-_', '+/'));
      $data = json_decode(base64_decode(strtr($payload, '-_', '+/'), true));
      return $data;
    }
    return false;
  }
  if($signed_request = parsePageSignedRequest()) {
    if($signed_request->page->liked) {
      echo "This content is for Fans only!";
    } else {
      echo "Please click on the Like button to view this tab!";
    }
  }
ログイン後にコピー

これこのソリューションは、署名されたリクエストを抽出してデコードし、解析された JSON オブジェクトの「いいね!」プロパティを調べて、Facebook ページに対するユーザーの「いいね!」ステータスを正確に判断します。

以上がJavaScript を使用して Facebook ユーザーが私のページを気に入ったかどうかを確実に判断するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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