Jak uzyskać liczbę udziałów za pomocą Graph API

136

Mogę uzyskać liczbę udziałów adresu URL za pomocą PHP SDK i przy użyciu wycofanego interfejsu API reszty, ale nie znalazłem sposobu, aby uzyskać liczbę udziałów adresu URL za pomocą graficznego interfejsu API.

Czy jest jakiś sposób, żeby się dowiedzieć?

Ashish Pethkar
źródło
Znajdź rozwiązanie dla siebie tutaj stackoverflow.com/questions/6137414/…
Sakata Gintoki
Sprawdź odpowiedź tutaj: stackoverflow.com/questions/9728279/…
Atif Tariq
Odpowiedź
opublikowana

Odpowiedzi:

270

Oto lista linków API, które pozwalają uzyskać statystyki:

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%%

Edycja: Usunięto punkt końcowy Twittera, ponieważ został wycofany.

Edycja: Facebook REST API jest przestarzały

chandrajeet
źródło
1
Połączony nie działa (odmowa dostępu 403)
Maxim Krizhanovsky
2
Ile wynosi limit wywołań interfejsu API dla każdego żądania?
StErMi
8
Cześć ! Dzięki za tę listę. Nie mogę znaleźć dokumentacji dotyczącej punktu końcowego API api.facebook.com/method/links.getStats . To rzeczywiście działa, ale chciałbym się upewnić, że nie jest częścią wersji API, która zostanie wkrótce wycofana. Dziwne jest również to, że jest to dostępne bez uwierzytelniania ... Czy widzisz coś na ten temat w dokumentacji na Facebooku? To nie jest część Graph API ...
Żabojad 24.04.15
10
Link do Facebooka już nie działa. Użyj graph.facebook.com/?id=http://www.google.com
MarkOverride,
8
@MarkOverride jeszcze bardziej zoptymalizowaną wersją (mniejszą przepustowość) jest graph.facebook.com/?fields=share&id=http://www.google.com . Problem polega na tym, że te nowe punkty końcowe są poważnie ograniczone i bardzo trudno jest ich używać w produkcji bez przekroczenia tych ograniczeń. Jeśli ktoś ma inny sposób, daj nam znać.
njy
200

AKTUALIZACJA - kwiecień '15:

Jeśli chcesz uzyskać licznik, który jest dostępny w przycisku Lubię to, powinieneś użyć engagementpola w og_objectobiekcie, na przykład:

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

Wynik:

{
  "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/"
}

Jest to możliwe dzięki Graph API, po prostu użyj:

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

coś jak:

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

Wróciłby:

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

AKTUALIZACJA: podczas gdy powyższe odpowiedzi odpowiadałyby, jak uzyskać liczbę udziałów . Ta liczba nie jest równa tej, którą widzisz na przycisku Lubię to , ponieważ ta liczba jest sumą:

  • Liczba polubień tego adresu URL
  • Liczba udostępnień tego adresu URL (obejmuje to kopiowanie / wklejanie linku z powrotem do Facebooka)
  • Liczba polubień i komentarzy do historii na Facebooku dotyczących tego adresu URL
  • Liczba wiadomości w skrzynce odbiorczej zawierających ten adres URL jako załącznik.

Tak więc uzyskanie numeru przycisku Like jest możliwe za pomocą interfejsu Graph API przez punkt fqlkońcowy ( link_stattabelę):

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 to liczba wyświetlana na przycisku Lubię to.

ifaour
źródło
Nie mam liczby udziałów dla niektórych obiektów. Wiem, że powinni mieć co najmniej jeden udział.
Jan Deinhard
1
@ W porządku, tak, czasami numer jest nieprawidłowy i jest trochę mylący. Możesz skorzystać z tabeli fql sugerowanej przez inną odpowiedź, ale nadal ... czasami liczby tam też nie są poprawne!
ifaour
czy można udostępniać kilka witryn?
Aziz
@Aziz, co masz na myśli?
ifaour
3
Ponieważ dokument v2.6 nie pozwala ci uzyskać share_count, like_counti comment_countwydaje się, fqlże REST API nadal są najlepszymi opcjami ... Ale oba fqli REST API nie będą już dostępne po 7 sierpnia 2016! Jakieś sugestie?
Daniel García Baena
21

Nie powinieneś używać Graph API. Jeśli zadzwonisz:

lub

oba wrócą:

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

Ale pokazana liczba jest sumą :

  • liczba polubień tego adresu URL
  • liczba udostępnień tego adresu URL (obejmuje to skopiowanie / wklejenie linku z powrotem do Facebooka)
  • liczba polubień i komentarzy do historii na Facebooku dotyczących tego adresu URL
  • liczba wiadomości w skrzynce odbiorczej zawierających ten adres URL jako załącznik.

Musisz więc użyć FQL.
Spójrz na tę odpowiedź: Jak pobrać polubienia, udostępnianie, komentarze z artykułu na Facebooku

freedev
źródło
masz całkowitą rację, przez total_shares to suma komentarzy + polubień + udostępnień, ale strona, o którą prosiłem, pokazuje share_i_have = total_shares + polubienia
Aziz
14

Po 7 sierpnia 2016 r. Nadal możesz dzwonić w ten sposób:

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

ale format odpowiedzi będzie inny: nie będzie

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

ale zamiast tego będzie

{
   "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"
}

Więc będziesz musiał przetworzyć odpowiedź w następujący sposób:

reponse_variable.share.share_count
Giorgio Tempesta
źródło
1
Ale wartość share_count jest myląca, ponieważ odnosi się do sumy polubień + udostępnień
Alon Bilu
Chyba masz rację, moja odpowiedź była tylko aktualizacją sposobu wywoływania API. Myślę, że to, co @freedev powiedział o liczbie udostępnień, może nadal być poprawne.
Giorgio Tempesta
8

To, co uznałem za przydatne i znalazłem w jednym z linków powyżej, to zapytanie FQL, w którym pytasz o polubienia, łączną liczbę, udostępnianie i liczbę kliknięć jednego linku, patrząc na tabelę 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

To wyświetli coś takiego:

{
    data: [
        {
             like_count: 3440162,
             total_count: 13226503,
             share_count: 7732740,
             click_count: 265614,
             comment_count: 2053601
         }
    ]
}
Juanjo Lainez Reche
źródło
2
Od 8 sierpnia 2016 r. FQL nie będzie już dostępny i nie będzie można zapytać. Aby przeprowadzić migrację aplikacji, użyj narzędzia do aktualizacji interfejsu API, aby wyświetlić wywołania interfejsu Graph API, które możesz wykonać.
Nguyen Minh Binh
7

Sprawdź to sedno . Zawiera informacje o tym, jak uzyskać liczbę udostępnień dla następujących usług:

  • Facebook
  • Świergot
  • Google Plus
  • Pinterest
  • LinkedIn
  • Natknął się na
Muhammad Reda
źródło
To ma kilka lat. Biorąc pod uwagę to, jak często każda usługa aktualizuje swoje API, wątpię, czy jest to bardzo dokładne.
subvertallchris
4

Przycisk podobny do facebooka robi dwie rzeczy, których API nie robi. Może to spowodować zamieszanie podczas porównywania tych dwóch.

  1. Jeśli adres URL, którego używasz w przycisku polubienia, ma przekierowanie, przycisk faktycznie pokaże liczbę przekierowanych adresów URL w porównaniu z liczbą adresów URL, których używasz.

  2. Jeśli strona ma właściwość og: url, przycisk Like pokaże polubienia tego adresu URL zamiast adresu URL w przeglądarce.

Mam nadzieję, że to komuś pomoże

Roland
źródło
1

kiedy użyłem FQL, znalazłem problem (ale nadal jest to problem) w dokumentacji jest napisane, że wyświetlona liczba jest sumą:

  • liczba polubień tego adresu URL
  • liczba udostępnień tego adresu URL (obejmuje to skopiowanie / wklejenie linku z powrotem do Facebooka)
  • liczba polubień i komentarzy do historii na Facebooku dotyczących tego adresu URL
  • liczba wiadomości w skrzynce odbiorczej zawierających ten adres URL jako załącznik.

ale na mojej stronie pokazana liczba to suma tych 4 liczników + ilość udostępnień (znowu)

Aziz
źródło
1

Używając FQL, możesz to zrobić:

http://graph.facebook.com/fql?q=SELECT url, total_count FROM link_stat WHERE url='PASTE_YOUR_URL_HERE'
totas
źródło
1

Jest do tego rubinowy klejnot - SocialShares

Obecnie obsługuje następujące sieci społecznościowe:

  • Facebook
  • świergot
  • Google Plus
  • reddit
  • linkedin
  • Pinterest
  • stumbleupon
  • vkontakte
  • mail.ru
  • odnoklassniki

Stosowanie:

: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
Timrael
źródło
1

Możesz użyć https://graph.facebook.com/v3.0/ {Place_your_Page_ID here} / feed? Fields = id, share, share_count & access_token = {Place_your_access_token_here}, aby uzyskać liczbę udziałów.

Gunta Vaishnavi
źródło