Я могу получить список комментариев и нравится просто отлично с помощью facebook sdk. Но я не могу найти способ получить список всех пользователей, которые поделились записью (я также попробовал fql).
Это код, который я использовал для получения таких:
$facebook = new Facebook($config); $likes = $facebook->api('/THE_POST_ID/likes', array('limit'=>9999999999));
На момент написания этого, Facebook Graph API позволяет получить количество акций в почте. Используя ваш код, он будет выглядеть следующим образом (пожалуйста, не то, чтобы я не делал обработку исключений здесь для простого примера):
$facebook = new Facebook($config); // fetch the post data. $post = $facebook->api('/THE_POST_ID/'); // fetch the count of shares. $sharesCount = $post["shares"]["count"];
Используя API-интерфейс Graph API, вы можете легко это увидеть.
К сожалению, API не обеспечивает соединение «share», как это делается для «любит» и «комментарии». Дополнительную информацию см. В статье Post API для Facebook Graph API .
С другой стороны, есть грязный взлом для извлечения списка пользователей (только друзей и людей, которые поделились публично), которые поделились определенной записью. Решение объясняется в другом потоке: Список людей, которые делились на facebook . Но я бы никогда не предложил использовать это решение.
Да, вы можете получить список всех акций почты facebook.
путем доступа:
https://graph.facebook.com/{POST_ID}/sharedposts?access_token={ACCESS_TOKEN}
См. https://developers.facebook.com/docs/graph-api/reference/v2.5/post.
Я знаю, что вы хотите получить акции через post_id, но можете ли вы рассчитывать на поиск акций по page_id вместо post_id?
Если вы можете, то вы можете использовать следующий FQL для получения данных, которые вы ищете.
SELECT via_id, created_time, owner_comment FROM link WHERE owner = me()
Затем вы можете сравнить via_id с автором сообщений (идентификатор страницы), чтобы определить, получен ли этот ресурс от автора сообщения.
К сожалению, по-видимому, есть ошибка с возвратом данных, когда некоторые из via_ids возвращаются как 0. Существует билет с Facebook, который во время этого сообщения был открыт в течение трех недель со средним приоритетом. Я понятия не имею, относится ли эта проблема к моему приложению или затрагивает всех, но этот запрос может получить то, что вы хотите.