Maison >interface Web >js tutoriel >Comment puis-je vérifier si un utilisateur de Facebook a aimé ma page à l'aide de l'API ?

Comment puis-je vérifier si un utilisateur de Facebook a aimé ma page à l'aide de l'API ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-25 01:14:10419parcourir

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

Identifier les likes d'une page Facebook à l'aide de l'API

L'API de Facebook fournit une méthode pour déterminer si un utilisateur a aimé une page ou une URL spécifique. Voici un extrait de code JavaScript qui montre comment utiliser cette fonctionnalité :

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

Bien que ce code semble simple, il ne renvoie pas toujours le résultat attendu. En effet, la méthode « pages.isFan » nécessite que l'utilisateur ait accordé une autorisation étendue pour l'application, ce qui peut ne pas être acceptable dans tous les cas.

Approche alternative utilisant une demande signée

Une approche alternative pour vérifier les pages « J'aime » consiste à utiliser l'option avancée OAuth 2.0 pour Canvas. Lorsqu'il est activé, Facebook inclut un paramètre « signed_request » dans la demande de page. Ce paramètre peut être analysé pour obtenir des informations sur l'utilisateur, notamment s'il a aimé la page.

Voici un exemple de fonction PHP qui analyse la requête signée :

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

Utiliser ceci fonction, vous pouvez ensuite vérifier la propriété 'page.liked' dans les données renvoyées :

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

Cette approche fournit un moyen plus fiable de déterminer la page aime sans nécessiter d’autorisations supplémentaires.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn