Facebook fb: комментарии Graph API - PullRequest
0 голосов
/ 18 июля 2011

Я хочу, чтобы на моем сайте были комментарии на Facebook + комментарии на моем сайте.

Дело в том, что при показе постов я хочу показывать количество комментариев рядом с каждым (поэтому мои комментарии + комментарии на Facebook). Я знаю, что могу добиться этого с помощью https://graph.facebook.com/comments/?ids={PAGE_URL}, но у меня есть 100 постов на страницу, и я не хочу делать этот запрос 100 раз на страницу, а также, что более важно, я хочу создать виджет с наибольшим количеством комментариев, В настоящее время у меня 1/4 миллиона (250000) сообщений.

Итак, в основном мой вопрос заключается в том, как я могу получить доступ к базе данных по всем комментариям, оставленным на моем домене / сайте, и отсортировать их, то есть манипулировать ими?

Ответы [ 3 ]

3 голосов
/ 19 июля 2011

Вот несколько примеров того, как вы можете сделать это:

FQL:

Вы можете создать свой массив запросов JSON, а затем использовать метод fql.multiquery Rest API для их запуска.,Например, это будет ваш массив запросов JSON:

{
  'query1': "select post_fbid from comment where object_id in (select comments_fbid from link_stat where url ='http://developers.facebook.com/docs/reference/fql/comment/')", 
  'query2': "select post_fbid from comment where object_id in (select comments_fbid from link_stat where url ='http://developers.facebook.com/docs/reference/fql/album/')"
}

Запустите это с помощью тестовой консоли на странице fql.multiquery , и вы сможете увидеть ответ, содержащийсписок post_fbids, которые вы можете затем посчитать, используя свой любимый метод подсчета.

Graph API:

Здесь вы можете использовать Пакетный запрос для одновременного выполнения всех ваших запросов.Так что для примера PHP вы будете делать:

curl \
  –F ‘access_token=…’ \
  -F ‘batch=[ \
        {“method”: ”GET”, “relative_url”: ”comments/?ids={PAGE_URL1}”}, \
        {“method”: ”GET”, “relative_url”: ”comments/?ids={PAGE_URL2}”}, \
        {“method”: ”GET”, “relative_url”: ”comments/?ids={PAGE_URL3}”} \
    ]’\
  https://graph.facebook.com

Для столько страниц, сколько вы хотите.

Примечание: Учитывая, что оба API имеют некоторую задержку, прежде чем вы получите ответ, очевидно, рекомендуется запускать их асинхронно, чтобы не вызывать нагрузку на ваш сайтзначительно задержать.

1 голос
/ 02 августа 2014

Попробуйте это:

Поместите URL-адрес, разделенный запятыми. Если вы хотите получать несколько вызовов с помощью API Graph:

https://graph.facebook.com/comments/?ids=http://URL_1,http://URL_2,http://URL_n
0 голосов
/ 18 июля 2011

Я думаю, для вашего случая использования FQL подойдет лучше всего: https://developers.facebook.com/docs/reference/fql/comment/. Кроме того, если вы хотите выполнять несколько HTTP-вызовов с помощью API Graph, всегда полезно выполнять «Пакетные вызовы», как описано в документации API Graph.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...