Есть ли способ получить список пользователей Facebook, которые нажали подобную кнопку на внешнем веб-сайте?
- например. существует домен example.com, который был подтвержден с помощью Facebook Insights, чтобы принадлежать fbUser1 (с использованием метатег OG).
- Где-то на example.com есть страница с несколькими кнопками XFBL, каждая из которых указывает на другой конкретный URL-адрес на example.com, например. example.com/xyz, example.com/abc и т.д.
Я бы хотел получить список пользователей, которым понравился example.com/xyz и тех, кому понравился example.com/abc.
Мой интуитивный подход состоял бы в том, чтобы взглянуть на graph.facebook.com/123456789/likes (где число - это идентификатор домена, взятого из данных FB), но это всегда возвращает пустой набор данных
{
"data": [
]
}
Я также попытался получить токен доступа OAuth от https://graph.facebook.com/oauth/access_token?type=client_cred&client_id=APPID&client_secret=APPSECRET (где APPID и APPSECRET берутся из приложения FB, которое отмеченные как владеющие доменом, используя метатеги OG), но это не имеет значения.
Меня также интересовал бы решение без OpenGraph (то есть JS SDK, FQL и т.д.).
EDIT. Используя следующий код (в соответствии с WideBlade answer ниже) по-прежнему дает мне пустой список симпатий (второй запрос никогда не возвращается):
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);
})
});
});