Facebook Graph API - Supprimer comme
-
26-09-2019 - |
Question
Je développe une application pour Facebook en PHP, dont une partie des listes « des goûts de » l'utilisateur. Je voudrais ajouter un lien à côté de chaque comme pour que l'utilisateur peut gérer leurs goûts en les supprimant où ils l'entendent.
Facebook mentionne cela dans leur graphique docs api:
Vous pouvez supprimer un comme par l'émission d'une demande à SUPPRIMER / post_id / aime (car aime ne disposent pas d'ID).
Mais chacun doit avoir comme une carte d'identité - sinon comment voulez-vous supprimer
Quelqu'un at-il fait cela avant?
La solution
Oui, aime ne pas une carte d'identité dans l'API graphique. Vous aimez ou contrairement à un article par afficherons ou deleteing à {item_id}/likes
, où {item_id}
est remplacé par l'ID de l'objet que vous aimer / unliking.
Pour en savoir ce que l'utilisateur actuel a aimé (vous pouvez les supprimer de façon appropriée), vous pouvez utiliser la connexion « aime » de l'objet utilisateur ( docs ). Donc, si vous demandez http://graph.facebook.com/me/likes
, vous obtiendrez une liste de pages / personnes / whatever qu'un utilisateur a aimé. (Note: cela ne comprend pas les messages ou des photos ou des choses comme ça)
Ceci renvoie un tableau de données complètes d'articles comme celui-ci:
{
"name": "Very Hungry Caterpillar",
"category": "Artist",
"id": "29956247793",
"created_time": "2009-03-27T15:48:29+0000"
}
L'ID y est pas l'ID de similaire. Il est l'ID de l'objet que l'utilisateur a aimé, donc pour un semblable, vous devez faire un SUPPRIMER pour http://graph.facebook.com/29956247793/likes
.
Autres conseils
Ce n'est pas « comme » qui a une carte d'identité, il est le poste - ce qui explique pourquoi l'utilisation d'appel api « / post_id / likes » comme cible - si vous supprimez « / post_id », il va se débarrasser de la poste, mais si vous supprimez « / post_id / aime » ça va se débarrasser de ce « comme » l'utilisateur pour ce poste.
Aime ont un ID.
Si vous regardez https://graph.facebook.com/me/likes , vous verrez que les données obtenues ne contient une valeur d'identification pour chacun.
{
"data": [
{
"name": "Audi",
"category": "Consumer_products",
"id": "96585976469",
"created_time": "2010-09-27T15:30:15+0000"
}
]
}
Vous pouvez essayer de l'y ID, je l'ai remarqué que l'API FB doc a parfois des erreurs.
Modifier : Je pense que cela peut aussi être une question de terminologie, comme ce que le document dit n'a pas de numéros d'identification est aime probablement à un poste utilisateur, et ceux-ci n'ont probablement pas vraiment une carte d'identité et peut être éliminé par l'émission d'une suppression au post_id / aime. Ensuite, il y a les goûts générés par les pages et / ou aimer les sites externes via le bouton comme, et ceux-ci ont un ID. Confondre, il est.
Avec OpenGrpah, aime n'ont ids, il est le champ id unique dans l'objet retourné par un appel API à og.likes.
contrairement à l'aide access_token
qui a utilisé pour faire de cette comme .
pseudocode:
pour comme:
FacebookGraphApi::getInstance()->setAccessToken('xxx')->post('xxxxxx/likes')
à la différence:
FacebookGraphApi::getInstance()->setAccessToken('xxx')->delete('xxxxx/likes')