Détermination de l'affinité d'une page Facebook avec l'API JavaScript
Dans le contexte des applications iFrame, la tâche de vérifier si un utilisateur a « aimé » un une page Facebook particulière peut être rencontrée. Cependant, il n'est pas rare de rencontrer des incohérences lors de la tentative d'implémentation de cette fonctionnalité.
Considérez l'extrait de code suivant :
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 :('); } } );
Lors de l'exécution de ce code, il donne un résultat déroutant de "False", même bien que l'utilisateur en question ait effectivement "liké" la page associée. Le coupable derrière cet écart réside dans la nécessité d'une autorisation étendue qui n'a pas été résolue.
Approche alternative utilisant une demande signée
Pour contourner ce problème et déterminer de manière fiable une le statut "J'aime" de l'utilisateur, une approche alternative utilisant le mécanisme de demande signée peut être utilisée. En activant l'option avancée « OAuth 2.0 for Canvas » dans Facebook, vous pouvez récupérer une demande signée avec chaque demande d'application d'onglet contenant des informations cruciales sur l'utilisateur, y compris son statut « J'aime » :
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!"; } }
Ceci La solution extrait la demande signée, la décode et examine la propriété « J'aime » de l'objet JSON analysé pour déterminer avec précision le statut « J'aime » de l'utilisateur pour votre page Facebook.
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!