Список людей, которые поделились на Facebook - PullRequest
23 голосов
/ 13 октября 2011

Я некоторое время обыскивал документы и, похоже, не могу найти способ сделать это. Информация доступна публично (на странице в Facebook ... по ссылке «Просмотреть все # акции»), но я не могу найти способ получить доступ к этой информации ни через FQL, ни через графический API.

Я знаю, что могу получить список лайков для данного поста:

https://graph.facebook.com/87236249496_134765166623967/likes

Цель состоит в том, чтобы получить список людей, которые поделились - но, похоже, не существует такой же вещи для акций. Я что-то упустил?

Ответы [ 5 ]

15 голосов
/ 10 января 2014

Вы можете сделать это через соединение «graph.facebook.com/OBJECT_ID/sharedposts»:

enter image description here

Я выясняю это соединение через metadata = 1 параметр:

enter image description here

10 голосов
/ 13 октября 2011

Перейти к ... http://www.facebook.com/ajax/shares/view/?target_fbid=10154612868272801&__a=1

10154612868272801 - это идентификатор истории Facebook, __a обозначает асинхронный.

Вы увидите большое количество текста / JSON, этов основном HTML & JS для небольшого всплывающего окна.Есть часть текста, такая как hovercard.php?id=#, где # - идентификатор пользователя Facebook, используя preg_match_all, вы получите все идентификаторы пользователя, которые поделились этим сообщением.

Например: 100000541151971 (Эрик) и 9204448 (Кортни) ...

К сожалению, вы должны войти в Facebook, чтобы сделать первый шаг, выяснить это:)

2 голосов
/ 18 декабря 2014

Связать с этой ссылкой: https://graph.facebook.com/134765166623967/sharedposts (с действительным токеном доступа)

Идентификатор в ссылке - это идентификатор стенпоста (87236249496_134765166623967) за вычетом идентификатора страницы (87236249496) и минус подчеркивание.

Вам также потребуется разрешение read_stream

2 голосов
/ 13 февраля 2013

Я думаю, что вы можете получить share_count из таблицы потоков по FQL-запросу так же, как


SELECT type, source_id, share_count, permalink, description, post_id, actor_id, target_id, message , share_count 
FROM stream
WHERE filter_key = 'others' and post_id = '87236249496_134765166623967'

Вы можете проверить это https://developers.facebook.com/tools/explorer/

Примечание: вы должны использовать разрешения read_stream, как объяснено здесь

1 голос
/ 15 марта 2013

Я знаю, что вы хотите получить доступ к акциям через 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, который на момент публикации был открыт в течение трех недель со средним приоритетом , Я понятия не имею, относится ли эта проблема к моему приложению или касается всех, но этот запрос может дать вам то, что вы хотите.

...