Heim  >  Artikel  >  Web-Frontend  >  Wie kann ich mithilfe der API überprüfen, ob einem Facebook-Benutzer meine Seite gefallen hat?

Wie kann ich mithilfe der API überprüfen, ob einem Facebook-Benutzer meine Seite gefallen hat?

Linda Hamilton
Linda HamiltonOriginal
2024-11-25 01:14:10402Durchsuche

How Can I Check if a Facebook User Liked My Page Using the API?

Identifizieren von Facebook-Seiten-Likes mithilfe der API

Facebooks API bietet eine Methode, um festzustellen, ob einem Benutzer eine bestimmte Seite oder URL gefallen hat. Hier ist ein JavaScript-Codeausschnitt, der zeigt, wie diese Funktionalität verwendet wird:

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 :(');
        }
    }
);

Obwohl dieser Code unkompliziert erscheint, liefert er möglicherweise nicht immer das erwartete Ergebnis. Dies liegt daran, dass die Methode „pages.isFan“ erfordert, dass der Benutzer eine erweiterte Berechtigung für die App erteilt hat, was möglicherweise nicht in allen Fällen akzeptabel ist.

Alternativer Ansatz mit signierter Anfrage

Ein alternativer Ansatz zum Überprüfen von Seiten-Likes ist die Verwendung der erweiterten Option OAuth 2.0 für Canvas. Wenn diese Option aktiviert ist, fügt Facebook einen „signed_request“-Parameter in die Seitenanfrage ein. Dieser Parameter kann analysiert werden, um Informationen über den Benutzer zu erhalten, einschließlich der Frage, ob ihm die Seite gefallen hat.

Hier ist ein Beispiel einer PHP-Funktion, die die signierte Anfrage analysiert:

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;
  }

Verwenden Sie dies Funktion können Sie dann die Eigenschaft „page.liked“ in den zurückgegebenen Daten überprüfen:

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!";
    }
  }

Dieser Ansatz bietet eine zuverlässigere Möglichkeit, die Seite zu bestimmen mag, ohne dass zusätzliche Berechtigungen erforderlich sind.

Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe der API überprüfen, ob einem Facebook-Benutzer meine Seite gefallen hat?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn