J'ai parcouru les documents pendant un certain temps maintenant et je n'arrive pas à trouver un moyen d'y parvenir. Les informations sont disponibles publiquement (sur une page facebook ... le lien dit "Voir tous les # partages") mais je n'arrive pas à trouver un moyen d'accéder à ces informations via FQL ou l'API graphique.
Je sais que je peux obtenir une liste de likes pour un poste donné:
https://graph.facebook.com/87236249496_134765166623967/likes
Le but est d'obtenir une liste de personnes qui ont partagé - mais il ne semble pas y avoir le même genre de chose pour les partages. Suis-je en train de manquer quelque chose?
Aller à... http://www.facebook.com/ajax/shares/view/?target_fbid=10154612868272801&__a=1
10154612868272801
est l'ID de l'histoire Facebook, __a
signifie asynchrone.
Vous verrez une grande quantité de texte/JSON, il s'agit essentiellement de HTML et JS pour une petite fenêtre contextuelle. Il y a une partie de texte comme hovercard.php?id=#
où #
est l'ID utilisateur Facebook, utilisant preg_match_all
vous obtenez alors tous les ID utilisateur qui ont partagé ce message.
Par exemple: 100000541151971
(Eric) et 9204448
(Courtney) ...
Malheureusement, vous devez être connecté à Facebook pour faire la première étape, comprenez-le :)
Vous pouvez le faire via la connexion "graph.facebook.com/OBJECT_ID/sharedposts":
Je comprends cette connexion via metadata = 1 paramètre:
Tye ce lien: https://graph.facebook.com/134765166623967/sharedposts (avec un access_token valide)
L'identifiant dans le lien est l'identifiant de la borne murale (87236249496_134765166623967) moins l'ID de la page (87236249496) et le trait de soulignement moins.
Vous aurez également besoin de l'autorisation read_stream
Je pense que vous pouvez obtenir le share_count de la table de flux par requête FQL comme
SELECT type, source_id, share_count, permalink, description, post_id, acteur_id, target_id, message, share_count FROM flux WHERE filter_key = 'others' et post_id = '87236249496_134765166623967'
vous pouvez le tester https://developers.facebook.com/tools/Explorer/
Remarque: vous devez prendre les autorisations read_stream comme expliqué ici
Je sais que vous cherchez à obtenir des partages via le post_id, mais pouvez-vous vous contenter de trouver des partages par page_id au lieu de post_id?
Si vous le pouvez, vous pouvez utiliser le FQL suivant pour obtenir les données que vous recherchez.
SELECT via_id, created_time, owner_comment
FROM link
WHERE owner = me()
Vous pouvez ensuite comparer via_id à l'auteur des articles (ID de page) pour déterminer si ce partage provient de l'auteur de l'article en question.
Malheureusement, il semble y avoir un bug avec le retour des données où certains des via_ids reviennent à 0. Il y a un ticket avec Facebook qui, au moment de cette publication, était ouvert depuis trois semaines à priorité moyenne. Je ne sais pas si ce problème est spécifique à mon application ou affecte tout le monde, mais cette requête peut vous procurer ce que vous voulez.