Как получить количество долей с помощью графического API


136

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

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


Получите решение для вас здесь stackoverflow.com/questions/6137414/…
Саката Гинтоки

Пожалуйста, проверьте ответ здесь: stackoverflow.com/questions/9728279/…
Атиф Тарик

Сообщение от 8 августа 2016 г. (не устарело) ответ: stackoverflow.com/a/39379251/4607317
budi

Ответы:


270

Вот список ссылок 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 %%
Delicious: 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%%

Изменить: удалена конечная точка Twitter, поскольку она устарела.

Изменить: Facebook REST API устарел


1
LinkedIn не работает (дает 403 отказано в доступе)
Максим Крижановский

2
Каков лимит вызовов API для каждого запроса?
StErMi

8
Всем привет ! Спасибо за этот список. Я не могу найти документацию по конечной точке API api.facebook.com/method/links.getStats . Он действительно работает, но я хотел бы убедиться, что он не является частью версии API, которая скоро будет выведена из эксплуатации. Также странно, что это доступно без аутентификации ... Вы видите что-нибудь об этом в документации facebook? Это не часть графического API ...
abojad

10
Ссылка на Facebook больше не работает. Используйте graph.facebook.com/?id=http://www.google.com
MarkOverride,

8
@MarkOverride, еще более оптимизированная версия (с меньшей пропускной способностью) - это graph.facebook.com/?fields=share&id=http://www.google.com . Проблема в том, что эти новые конечные точки сильно ограничены по скорости, и их очень сложно использовать в производственной среде, не столкнувшись с указанными ограничениями. Если у кого-то есть другой способ сделать это, сообщите нам.
njy

200

ОБНОВЛЕНИЕ - апрель 2015 г .:

Если вы хотите получить счетчик, доступный на кнопке 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-адрес в качестве вложения.

Таким образом, получение номера кнопки Like возможно с помощью API Graph через 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.


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

1
@ Справедливо, да, иногда номер не правильный, и это немного сбивает с толку. Вы можете использовать таблицу fql, предложенную другим ответом, но все же ... иногда числа там тоже неверны!
ifaour

можно ли выкупить акции нескольких сайтов?
Азиз

@ Азиз, что ты имеешь в виду?
ifaour

3
Поскольку v2.6 doc не позволяет вам получить share_count, like_countи comment_count, похоже, fqlREST API по-прежнему являются лучшими вариантами ... Но и то, fqlи другое, и REST API больше не будут доступны после 7 августа 2016 года! Какие-либо предложения?
Даниэль Гарсиа Баэна

21

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

или

оба вернутся:

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

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

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

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


Вы абсолютно правы, по total_shares это сумма комментариев + лайков + репостов, но страница, которую я запросил, показывает share_i_have = total_shares + лайки
Азиз,

14

После 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

1
Но значение share_count вводит в заблуждение, поскольку оно относится к сумме лайков +
Алон Билу

Думаю, вы правы, мой ответ был просто обновлением о том, как вызывать API. Я думаю, что то, что сказал @freedev о подсчете акций, все еще может быть правильным.
Джорджио Темпеста

8

Что я нашел полезным и нашел по одной ссылке выше, так это этот запрос 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
         }
    ]
}

2
С 8 августа 2016 года FQL больше не будет доступен и его нельзя будет запрашивать. Чтобы перенести приложение, используйте инструмент обновления API, чтобы увидеть вызовы API Graph, которые вы можете сделать вместо этого.
Нгуен Минь Бинь

7

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

  • Facebook
  • Twitter
  • Гугл плюс
  • Pinterest
  • LinkedIn
  • Споткнулся на

Этому несколько лет. С учетом того, как часто каждая служба обновляет свой API, я сомневаюсь, что это очень точно.
subvertallchris

4

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

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

  2. Если у страницы есть свойство og: url, кнопка Like будет отображать подобные URL-адреса вместо URL-адреса в браузере.

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



1

когда я использовал FQL, я обнаружил проблему (но это все еще проблема), в документации указано, что указанное число является суммой:

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

но на моем веб-сайте показанное число - это сумма этих 4 пунктов + количество акций (опять же)


1

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

http://graph.facebook.com/fql?q=SELECT url, total_count FROM link_stat WHERE url='PASTE_YOUR_URL_HERE'

1

За это есть драгоценный камень рубин - SocialShares

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

  • facebook
  • твиттер
  • Гугл плюс
  • Reddit
  • linkedin
  • интерес
  • споткнуться
  • вконтакте
  • 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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.