Récupérer les utilisateurs Facebook qui aiment une URL / page Web via Open Graph
Est-il un moyen de récupérer la liste de Facebook, les utilisateurs qui ont cliqué sur le bouton j'aime sur un site externe?
- E. g. il est un domaine example.com qui a été confirmé par Facebook Insights appartenir à fbUser1 (à l'aide de balises meta OG).
- Quelque part sur example.com il y a une page avec plusieurs XFBL comme des boutons, chacune pointant vers une autre URL spécifique sur example.compar exemple example.com/xyzexample.com/abc etc.
Ce que je voudrais obtenir la liste des utilisateurs qui ont aimé example.com/xyz et de ceux qui ont aimé example.com/abc.
Mon approche intuitive serait de regarder graph.facebook.com/123456789/likes (dont le nombre est l'ID du domaine de prises de FB idées), mais c'est toujours retourne un dataset vide:
{
"data": [
]
}
J'ai aussi essayé d'obtenir un jeton d'accès OAuth de https://graph.facebook.com/oauth/access_token?type=client_cred&client_id=APPID&client_secret=APPSECRET (où APPID et APPSECRET sont prises à partir d'une application FB qui est marqué en tant que propriétaire du domaine à l'aide OG balises meta-tags), mais qui ne fait pas de différence.
Je serais également intéressé par un non-OpenGraph (c'est à dire JS SDK, FQL, etc.) solution.
MODIFIER: en Utilisant le code suivant (selon WideBlade's réponse ci-dessous) me donne toujours une liste vide d'aime (la deuxième requête ne retourne jamais):
var objectsQuery = "select id from object_url where url in ('http://example.com/xyz', 'http://example.com/abc', 'http://example.com/123')";
var likesQuery = "select object_id from like where object_id = {0}";
FB.Data.query(objectsQuery).wait(function (objectRows) {
console.log(objectRows);
FB.Array.forEach(objectRows, function (objectRow) {
FB.Data.query(likesQuery, objectRow.object_id).wait(function (likeRows) {
console.log(likeRows);
})
});
});
source d'informationauteur Samu Lang
Vous devez vous connecter pour publier un commentaire.
Cela ne peut être fait. Facebook ne vous permet pas de requête pour un utilisateur spécifique ID est des gens qui ont aimé une certaine page. C'est en raison de problèmes de confidentialité.
Voir l'avertissement sur cette page https://developers.facebook.com/docs/reference/fql/like/
FQL Devrait faire l'affaire.
$facebook->api_client->fql_query('SELECT user_id FROM like WHERE object_id="OBJECTID"');
Voici le lien.
Quelques informations générales à propos FQL.
FQL est lancé en utilisant le SDK JavaScript, de cette façon.
Si vous pouvez poster des exemples de code, je peux essayer de donner un peu plus d'une aide spécifique.
Une remarque doit être faite une fois que vous avez l'ID d'utilisateur, vous pouvez simplement des requêtes sur les noms et les mettre dans une liste.
EDIT: Pour obtenir l'URL d'un objet, vous devez requête de cette table à l'aide de fql.