API を使用した Facebook ページの「いいね!」の識別
Facebook の API は、ユーザーが特定のページまたは URL に「いいね!」をしたかどうかを判断するメソッドを提供します。この機能の使用方法を示す JavaScript コード スニペットを次に示します。
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 :('); } } );
このコードは単純そうに見えますが、必ずしも期待した結果を返すとは限りません。これは、「pages.isFan」メソッドではユーザーがアプリに対する拡張権限を付与する必要があり、これはすべての場合に受け入れられるわけではないためです。
署名付きリクエストを使用した代替アプローチ
ページの「いいね!」をチェックする別の方法は、OAuth 2.0 for Canvas の詳細オプションを使用することです。有効にすると、Facebook はページリクエストに「signed_request」パラメータを含めます。このパラメータを解析すると、ユーザーがページを気に入ったかどうかなど、ユーザーに関する情報を取得できます。
署名付きリクエストを解析する PHP 関数の例を次に示します。
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; }
これを使用する関数を使用すると、返されたデータの 'page.liked' プロパティを確認できます。
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!"; } }
このアプローチでは、より信頼性の高いデータが提供されます。追加の権限を必要とせずにページのいいねを決定する方法。
以上がAPI を使用して Facebook ユーザーが私のページを気に入ったかどうかを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。