Как получить количество акций с помощью API Graph - PullRequest
136 голосов
/ 18 апреля 2011

Я могу получить подсчет доли URL-адреса с помощью PHP SDK и устаревшего API остатка, но не нашел способа получить подсчет доли URL-адреса с помощью API графа.

Есть ли какие-либоспособ узнать?

Ответы [ 13 ]

270 голосов
/ 01 октября 2013

Вот список ссылок API для получения вашей статистики:

Facebook: https://api.facebook.com/method/links.getStats?urls=%%URL%%&format=json
Reddit: http://buttons.reddit.com/button_info.json?url=%%URL%%
LinkedIn: http://www.linkedin.com/countserv/count/share?url=%%URL%%&format=json
Digg: http://widgets.digg.com/buttons/count?url=%%URL%%
Вкусный: http://feeds.delicious.com/v2/json/urlinfo/data?url=%%URL%%
StumbleUpon: http://www.stumbleupon.com/services/1.01/badge.getinfo?url=%%URL%%
Pinterest: http://widgets.pinterest.com/v1/urls/count.json?source=6&url=%%URL%%

Edit: Удалена конечная точка Twitter, так как она устарела.

Edit: API REST Facebook устарел

200 голосов
/ 18 апреля 2011

ОБНОВЛЕНИЕ - апрель '15:

Если вы хотите получить счетчик, доступный в кнопке Like, вам следует использовать поле engagement в объекте og_objectПримерно так:

https://graph.facebook.com/v2.2/?id=http://www.MY-LINK.com&fields=og_object{engagement}&access_token=<access_token>

Результат:

{
  "og_object": {
    "engagement": {
      "count": 93, 
      "social_sentence": "93 people like this."
    }, 
    "id": "801998203216179"
  }, 
  "id": "http://techcrunch.com/2015/04/06/they-should-have-announced-at-420/"
}

Это возможно с Graph API, просто используйте:

http://graph.facebook.com/?id=YOUR_URL

что-то вроде:

http://graph.facebook.com/?id=http://www.google.com

Возвращает:

{
   "id": "http://www.google.com",
   "shares": 1163912
}

ОБНОВЛЕНИЕ: , в то время как приведенное выше ответит, как получить количество доля .Это число не равно значению, которое вы видите на Кнопка «Мне нравится» , поскольку это число равно сумме:

  • Количество лайков этогоURL
  • Количество акций этого URL (включая копирование / вставку ссылки обратно в Facebook)
  • Количество лайков и комментариев к историям на Facebook об этом URL
  • Количество входящих сообщений, содержащих этот URL в качестве вложения.

Таким образом, получить номер кнопки «Мне нравится» можно с помощью Graph API через конечную точку fql (link_stat таблица):

https://graph.facebook.com/fql?q=SELECT url, normalized_url, share_count, like_count, comment_count, total_count,commentsbox_count, comments_fbid, click_count FROM link_stat WHERE url='http://www.google.com'

total_count - это число, отображаемое в кнопке Like.

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

Вы не должны использовать график API.Если вы позвоните:

или

обаreturn:

{
  "id": "http://www.apple.com",
  "shares": 1146997
}

Но показанное число является суммой :

  • количество лайков этого URL
  • количество акцийэтого URL (включая копирование / вставку ссылки обратно в Facebook)
  • количество лайков и комментариев к историям в Facebook об этом URL
  • количество входящих сообщений, содержащих этот URL в качестве вложения.

Так что вы должны использовать FQL.Посмотрите на этот ответ: Как получить лайки в Facebook, поделиться, подсчитать комментарии из статьи

14 голосов
/ 20 сентября 2016

После 7 августа 2016 года вы все еще можете сделать свой звонок следующим образом:

http://graph.facebook.com/?id=https://www.apple.com/

, но формат ответа будет другим: он не будет

{
  "id": "http://www.apple.com",
  "shares": 1146997
}

но вместо этого это будет

{
   "og_object": {
      "id": "388265801869",
      "description": "Get a first look at iPhone 7, Apple Watch Series 2, and the new AirPods \u2014 the future of wireless headphones. Visit the site to learn more.",
      "title": "Apple",
      "type": "website",
      "updated_time": "2016-09-20T08:21:03+0000"
   },
   "share": {
      "comment_count": 1,
      "share_count": 1094227
   },
   "id": "https://www.apple.com"
}

Так что вам придется обработать ответ следующим образом:

reponse_variable.share.share_count
8 голосов
/ 14 сентября 2015

То, что я нашел полезным и нашел по одной ссылке выше, - это FQL-запрос, где вы запрашиваете лайки, общее количество, делитесь и кликаете по одной ссылке, просматривая таблицу link_stat

https://graph.facebook.com/fql?q=SELECT%20like_count,%20total_count,%20share_count,%20click_count,%20comment_count%20FROM%20link_stat%20WHERE%20url%20=%20%22http://google.com%22

Это будетвыведите что-то вроде этого:

{
    data: [
        {
             like_count: 3440162,
             total_count: 13226503,
             share_count: 7732740,
             click_count: 265614,
             comment_count: 2053601
         }
    ]
}
7 голосов
/ 14 декабря 2014

Проверьте этот гист .В нем есть фрагменты для того, как получить счет обмена для следующих служб:

  • Facebook
  • Twitter
  • Google plus
  • Pinterest
  • LinkedIn
  • StumbledUpon
4 голосов
/ 02 июня 2012

Кнопка «Нравится» на Facebook делает две вещи, которые API не делает. Это может создать путаницу при сравнении двух.

  1. Если URL-адрес, который вы используете в своей кнопке «Нравится», имеет перенаправление, кнопка фактически покажет количество URL-адреса перенаправления в сравнении с количеством используемого вами URL.

  2. Если на странице есть свойство og: url, кнопка «Мне нравится» будет отображать аналогичные URL в браузере.

Надеюсь, это кому-нибудь поможет

3 голосов
/ 28 сентября 2017

Просто введите https://graph.facebook.com/?fields=share&id=https://www.example.com и замените пример URL-адресом или страницей, которую вы ищете.

Пример Google: https://graph.facebook.com/?fields=share&id=https://www.google.com

1 голос
/ 18 октября 2014

Для него есть рубиновый камень - SocialShares

В настоящее время поддерживаются следующие социальные сети:

  • facebook
  • щебет
  • Google Plus
  • Reddit
  • * 1016 LinkedIn *
  • 1018 * Pinterest *
  • 1020 * StumbleUpon *
  • вконтакте
  • mail.ru
  • одноклассники

Использование:

:000 > url = 'http://www.apple.com/'
  => "http://www.apple.com/"
:000 > SocialShares.facebook url
  => 394927
:000 > SocialShares.google url
  => 28289
:000 > SocialShares.twitter url
  => 1164675
:000 > SocialShares.all url
  => {:vkontakte=>44, :facebook=>399027, :google=>28346, :twitter=>1836, :mail_ru=>37, :odnoklassniki=>1, :reddit=>2361, :linkedin=>nil, :pinterest=>21011, :stumbleupon=>43035}
:000 > SocialShares.selected url, %w(facebook google linkedin)
  => {:facebook=>394927, :google=>28289, :linkedin=>nil}
:000 > SocialShares.total url, %w(facebook google)
  => 423216
:000 > SocialShares.has_any? url, %w(twitter linkedin)
  => true
1 голос
/ 16 октября 2014

Используя FQL, вы можете сделать это:

http://graph.facebook.com/fql?q=SELECT url, total_count FROM link_stat WHERE url='PASTE_YOUR_URL_HERE'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...