Как получить Facebook share, например, количество комментариев для url-адреса только с помощью graph api (не устаревшим способом)


Проблема в том, что после v2.1 graph api fql будет устаревшим.

Может кто-нибудь сказать мне, как получить отдельные лайки, количество акций для данного url, используя только graph api? Я искал какую-то документацию, но ее нет, я могу получить только общие "акции", которые являются лайками + акциями + комментариями.

Да, я знаю, что есть Бессмертный http://api.facebook.com/restserver.php?method=links.getStats&urls , но что, если facebook наконец закроет его?

6 13

6 ответов:

REST API (с вызовами типа http://api.facebook.com/restserver.php?method=links.getStats&urls) был объявлен устаревшим с введением Graph API v2. 1: https://developers.facebook.com/docs/apps/changelog#v2_1_deprecations но и уже в 2011 году: https://developers.facebook.com/blog/post/616/

Таким образом, из моего понимания, это приведет к неработоспособности этой функции через два года после введения v2. 1 7 августа 2016:

Https://developers.facebook.com/docs/apps/versions#howlong

Самое близкое, что вы можете получить к "старому" остатку результатов вызова API FQL с помощью Graph API, это afaik:

Https://developers.facebook.com/docs/graph-api/reference/v2.3/url/

Но он опускает метрику like_count (Не спрашивайте меня, почему...).

Мое личное мнение заключается в том, что вы должны продолжать использовать вызовы FQL для link_stat (https://developers.facebook.com/docs/reference/fql/link_stat / ) таблица, поскольку она будет доступна почти в течение следующих 2 лет. Это возможно только в том случае, если у вас есть приложение v2.0. Может быть, до тех пор будут какие-то дополнительные конечные точки для API Graph.

Я предлагаю использовать такой инструмент, как SharedCount, он также предлагает намного больше платформ. Вот как они получают данные: http://www.sharedcount.com/documentation.php (прокрутите вниз до "Sources")

Итак, для Facebook это будет выглядеть так:

https://api.facebook.com/method/links.getStats?urls=%%URL%%&format=json

Вы получаете объект JSON, подобный этому:

..."share_count": 66,"like_count": 15,"comment_count": 1,"total_count": 82...

Edit: сейчас это не рекомендуется, но есть еще одна возможность, объясненная в эта тема: получить FB лайки, акции и комментарии для URL с помощью PHP-без ограничений

Вы можете использовать API facebook graph, как https://graph.facebook.com/?ids=http://mycodingtricks.com, и он вернет код json, как

{  
    "http://mycodingtricks.com":{  
        "id":"http://mycodingtricks.com",
        "shares":1
    }
}

Я разработал свой собственный php-скрипт, на котором вы можете рассчитывать все социальные сети, используя этот api. http://mycodingtricks.com/share/social.php?url=YOUR-URL-HERE и он вернет такие данные, как:

{  
    "facebook":[  
        {  
            "share_count":1,
            "like_count":0,
            "comment_count":0,
            "total_count":1,
            "click_count":0,
            "comments_fbid":567687199998199,
            "commentsbox_count":0
        }
    ],
    "googleplus":10,
    "twitter":3,
    "buffer":0,
    "pinterest":0,
    "stumblupon":1,
    "reddit":"<html><body><h1>403 Forbidden<\/h1>\nRequest forbidden by administrative rules.\n<\/body><\/html>\n",
    "linkedin":0
}

Но если вы хотите использовать самостоятельно, вот Полная статья о том,как считать долю facebook, нравится и все. http://mycodingtricks.com/php/2-ways-to-count-facebook-likes-shares-and-comments-using-php/

На самом деле правильный способ получить подобное число таков:

http://graph.facebook.com/v2.5/?id=YOUR_URL&fields=og_object{engagement}

Скобки после og_object - это второй уровень og_object. смотрите документацию здесь:
https://developers.facebook.com/docs/graph-api/reference/url

Возможно, вам потребуется закодировать url-адрес и скобки, чтобы он выглядел примерно так: https://graph.facebook.com/v2.5/?id=ENCODED_URL&fields=og_object%7Bengagement%7D&id=http%3A%2F%2Fwww.cnn.com

См. рабочий пример в обозреватель графиков (Нажмите кнопку Отправить)

Все ответы неверны или неполны с момента последнего закрытия API 2.1!

Я являюсь автором плагина для социальных сетей MashShare, и мне недавно пришлось сделать точные наблюдения за этой проблемой, поскольку она серьезно повлияла на количество акций нашего плагина.

Проверенные данные по наблюдениям:

Https://graph.facebook.com/v2.7/?id=https://www.mashshare.net содержит акции и лайки.

Насколько я выяснил, единственный способ получить число, близкое к реальному общее количество записей в посте - это получить сначала такие, как url. Затем возьмите это число и вычтите его из общего количества акций и лайков.

Чтобы получить like count, вам нужно взять идентификатор объекта url и создать другой запрос API: https://graph.facebook.com/v2.7/14206851986099/likes?summary=true

Если вы знаете, как объединить оба запроса в один, пожалуйста, дайте мне знать.

По состоянию на 19 августа 2016 года facebook полностью отключил свой REST API. Единственная альтернатива-использовать API graph, как было предложено выше.