Есть ли способ получить список пользователей 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 / лайки (гденомер - это идентификатор домена, взятый из аналитики 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 ответ ниже) по-прежнему выдает пустой список лайков (второй запрос никогда не возвращается):
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);
})
});
});