Le graphe facebook indique que l'utilisateur aime l'url

Je souhaite afficher un message différent si un utilisateur est actuellement connecté à facebook et aime la page actuelle. Je comprends:

FB.Event.subscribe('edge.create', function(response) { // you like this }); 

Ce qui va déclencher lorsqu'un utilisateur aime la page, mais lorsque vous rechargez la page, comment décidez-vous qu'elles aiment déjà la page actuelle?

Merci!

Je suis certain que vous ne pouvez pas faire ce que vous voulez (dans ce contexte).

Regardez cette page: http://fbrell.com/fb.api/does-like

Vous verrez que vous avez besoin de l'utilisateur pour approuver une autorisation pour afficher les goûts.

C'est un énorme risque de sécurité pour permettre à quelqu'un de voir les «aime» d'un utilisateur, même pour la page actuelle. Pensez-y, vous pouvez facilement falsifier la page actuelle et prétendre être n'importe quelle page.

MAIS…

Ce que je vous recommande, c'est simplement de créer un cookie pour votre propre bénéfice (en javascript) lorsque l'utilisateur aime «votre page». En supposant que vous obtenez un pourcentage important de vos 'Likes' de cette page, vous pouvez corréler en toute sécurité la présence du cookie avec un 'Like'.

J'ai vu des exceptions de sécurité faire cela, mais cela semble fonctionner (au moins dans Chrome).

Si vous décrivez la page comme "page actuelle", je comprends qu'elle se trouve dans un onglet iframe. Si tel est le cas, la demande signée vous fournit ces informations comme $decode_signed_request = array('page' => array('liked' => true/false)) .

Sinon, vous pouvez fournir une page de toile avec les paramètres GET fb_page_id , qui devrait inclure le paramètre fb_sig_added à la requête du serveur avec un 0/1 selon que l'utilisateur est fan de cette page. (Cela peut nécessiter de désactiver OAuth 2.0 dans vos paramètres de migration)

Si vous parlez du plugin social similaire avec une URL graphique ouverte, vous ne pouvez pas facilement découvrir si l'utilisateur est un fan sans installation d'application. Si vous possédez cela, vous pouvez faire un appel d'api à /me/likes qui renverra une liste de tous les goûts que l'utilisateur possède et recherchez l'identifiant de l'objet que vous testez.

Vous êtes plus sûr à l'aide de l'API Graphique car Facebook est en train de déconseiller son API REST. Donc, pour obtenir si un utilisateur aime votre page, vous aurez besoin de l'identifiant de la page et du jeton d'accès de votre application.

https://graph.facebook.com/me/likes/PAGE_ID?format=json&access_token=ACCESS_TOKEN

  • Où PAGE_ID est l'identifiant de la page que vous souhaitez vérifier.
  • Et ACCESS_TOKEN est votre jeton d'accès aux applications.

À partir de l'API Graphique, vous pouvez obtenir le type d'utilisateur par son identifiant, comme suit:

https://graph.facebook.com/ID/CONNECTION_TYPE

Donc, pour obtenir les goûts que vous avez mis votre jeton d'accès et:

https://graph.facebook.com/me/likes?access_token=2222222222222222

Alors cherchez votre page si elle est aimée ou non.

Cependant, vous pouvez toujours essayer les requêtes FQL que je n'ai pas essayé pour les Gars en fait.

J'espère que ça m'a aidé.

Enregistrer l'identifiant d'utilisateur ou third_party_id dans la base de données lorsque l'utilisateur a aimé le lien

Obtenir un tiers_party_id

Graph.facebook.com/me/?fields=third_party_id&access_token=xxx

 https://graph.facebook.com/{FB_USER_ID}?fields=likes.target_id(167584559969748)&access_token={VALID_ACCESS_TOKEN} 

Montre les données si cet utilisateur a aimé cette page de fan de Facebook.

ou

 https://graph.facebook.com/{FB_USER_ID}?fields=likes.fields(link) 

Affiche une liste de liens appréciés, d'où vous pouvez obtenir le lien que vous recherchez.

Tout cela nécessite des autorisations 'user_likes' et / ou friend_likes .