So erhalten Sie die Anzahl der Freigaben mithilfe der Diagramm-API

136

Ich kann die Anzahl der Freigaben einer URL mithilfe des PHP SDK und der veralteten Rest-API ermitteln, habe jedoch keine Möglichkeit gefunden, die Anzahl der Freigaben einer URL mithilfe der Diagramm-API abzurufen.

Gibt es eine Möglichkeit, das herauszufinden?

Ashish Pethkar
quelle
Holen Sie sich die Lösung für Sie hier stackoverflow.com/questions/6137414/…
Sakata Gintoki
Bitte überprüfen Sie die Antwort hier: stackoverflow.com/questions/9728279/…
Atif Tariq
Antwort vom 8. August 2016 (nicht veraltet): stackoverflow.com/a/39379251/4607317
budi

Antworten:

270

Hier ist eine Liste von API-Links, um Ihre Statistiken zu erhalten:

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

Bearbeiten: Der Twitter-Endpunkt wurde entfernt, da dieser veraltet ist.

Bearbeiten: Facebook REST API ist veraltet

chandrajeet
quelle
1
Das Linkedin funktioniert nicht (gibt 403 Zugriff verweigert)
Maxim Krizhanovsky
2
Wie hoch ist das API-Aufruflimit für jede Anforderung?
StErMi
8
Hallo ! Danke für diese Liste. Ich kann die Dokumentation für den API-Endpunkt api.facebook.com/method/links.getStats nicht finden . Es funktioniert zwar, aber ich möchte sicherstellen, dass es nicht Teil einer API-Version ist, die bald außer Betrieb genommen wird. Es ist auch seltsam, dass dies ohne Authentifizierung verfügbar ist ... Sehen Sie etwas dazu in der Facebook-Dokumentation? Es ist nicht Teil der Grafik-API ...
oabojad
10
Facebook-Link funktioniert nicht mehr. Verwenden Sie graph.facebook.com/?id=http://www.google.com
MarkOverride
8
@MarkOverride Eine noch optimierte Version (weniger Bandbreite) ist graph.facebook.com/?fields=share&id=http://www.google.com . Das Problem ist, dass diese neuen Endpunkte stark ratenbeschränkt sind und es sehr schwierig ist, sie in der Produktion zu verwenden, ohne diese Grenzen zu überschreiten. Wenn jemand einen anderen Weg hat, lassen Sie es uns bitte wissen.
NJ
200

UPDATE - April '15:

Wenn Sie die Anzahl erhalten möchten, die auf der Schaltfläche "Gefällt mir" verfügbar ist, sollten Sie das engagementFeld im og_objectObjekt wie folgt verwenden :

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

Ergebnis:

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

Mit der Graph-API ist Folgendes möglich: Verwenden Sie einfach:

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

etwas wie:

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

Würden zurückkehren:

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

UPDATE: Während die oben genannten Fragen beantworten würden, wie die Anzahl der Freigaben ermittelt wird . Diese Zahl entspricht nicht der Zahl , die Sie auf der Schaltfläche "Gefällt mir" sehen , da diese Zahl die Summe von:

  • Die Anzahl der Likes dieser URL
  • Die Anzahl der Freigaben dieser URL (dies beinhaltet das Kopieren / Einfügen eines Links zurück zu Facebook)
  • Die Anzahl der Likes und Kommentare zu Facebook-Geschichten zu dieser URL
  • Die Anzahl der Posteingangsnachrichten, die diese URL als Anhang enthalten.

Das Abrufen der Like-Button-Nummer ist mit der Graph-API über den fqlEndpunkt (die link_statTabelle) möglich:

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 ist die Nummer, die im Like-Button angezeigt wird.

ifaour
quelle
Ich erhalte nicht die Anzahl der Freigaben für bestimmte Objekte. Ich weiß, dass sie mindestens eine Aktie haben sollten.
Jan Deinhard
1
@ Fair, ja manchmal ist die Nummer nicht korrekt und es ist ein bisschen verwirrend. Sie können die von der anderen Antwort vorgeschlagene fql-Tabelle verwenden, aber trotzdem ... manchmal sind die Zahlen dort auch nicht korrekt!
ifaour
Ist es möglich, Anteile an wenigen Standorten zu übernehmen?
Aziz
@ Aziz, was meinst du?
ifaour
3
Da v2.6 doc es Ihnen nicht erlaubt share_count, like_countund comment_countanscheinend sind fqldie REST-API immer noch die besten Optionen ... Aber beide fqlund die REST-API werden nach dem 7. August 2016 nicht mehr verfügbar sein! Irgendwelche Vorschläge?
Daniel García Baena
21

Sie sollten keine Grafik-API verwenden. Wenn Sie entweder anrufen:

oder

beide werden zurückkehren:

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

Die angezeigte Zahl ist jedoch die Summe aus :

  • Anzahl der Likes dieser URL
  • Anzahl der Freigaben dieser URL (dies beinhaltet das Kopieren / Einfügen eines Links zurück zu Facebook)
  • Anzahl der Likes und Kommentare zu Geschichten auf Facebook über diese URL
  • Anzahl der Posteingangsnachrichten, die diese URL als Anhang enthalten.

Sie müssen also FQL verwenden.
Schauen Sie sich diese Antwort an: Wie man Facebook-Likes abruft, teilt, Kommentare zählen aus einem Artikel

freedev
quelle
Sie haben absolut Recht, von total_shares ist die Summe der Kommentare + Likes + Shares, aber die Seite, die ich angefordert habe, zeigt Shares_i_have = total_shares + Likes
Aziz
14

Nach dem 7. August 2016 können Sie Ihren Anruf immer noch folgendermaßen tätigen:

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

Aber das Antwortformat wird anders sein: Es wird nicht so sein

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

aber stattdessen wird es sein

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

Sie müssen die Antwort also folgendermaßen verarbeiten:

reponse_variable.share.share_count
Giorgio Tempesta
quelle
1
Aber der Wert von share_count ist irreführend, da er sich auf die Summe von Likes + Shares bezieht
Alon Bilu
Ich denke, Sie haben Recht, meine Antwort war nur ein Update zum Aufrufen der API. Ich denke, was @freedev über die Anzahl der Aktien gesagt hat, ist möglicherweise immer noch richtig.
Giorgio Tempesta
8

Was ich nützlich fand und auf einem Link oben gefunden habe, ist diese FQL-Abfrage, bei der Sie anhand der Tabelle link_stat nach Likes, Total, Share und Click Count eines Links fragen

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

Das wird ungefähr so ​​ausgeben:

{
    data: [
        {
             like_count: 3440162,
             total_count: 13226503,
             share_count: 7732740,
             click_count: 265614,
             comment_count: 2053601
         }
    ]
}
Juanjo Lainez Reche
quelle
2
Ab dem 8. August 2016 ist FQL nicht mehr verfügbar und kann nicht abgefragt werden. Verwenden Sie zum Migrieren Ihrer App das API-Upgrade-Tool, um die Graph-API-Aufrufe anzuzeigen, die Sie stattdessen ausführen können.
Nguyen Minh Binh
7

Schauen Sie sich dieses Wesentliche an . Es enthält Ausschnitte, wie Sie die Anzahl der Freigaben für die folgenden Dienste ermitteln können:

  • Facebook
  • Twitter
  • Google Plus
  • Pinterest
  • LinkedIn
  • Über etwas stolpern
Muhammad Reda
quelle
Das ist ein paar Jahre alt. Ich bezweifle, dass es sehr genau ist, wie oft jeder Dienst seine API aktualisiert.
Subvertallchris
4

Der Facebook-Like-Button macht zwei Dinge, die die API nicht macht. Dies kann beim Vergleich der beiden zu Verwirrung führen.

  1. Wenn die URL, die Sie in Ihrer Like-Schaltfläche verwenden, eine Umleitung hat, zeigt die Schaltfläche tatsächlich die Anzahl der Umleitungs-URL gegenüber der Anzahl der von Ihnen verwendeten URL an.

  2. Wenn die Seite eine og: url-Eigenschaft hat, zeigt die Schaltfläche "Gefällt mir" die Likes dieser URL anstelle der URL im Browser an.

Hoffe das hilft jemandem

Roland
quelle
1

Als ich FQL verwendet habe, habe ich das Problem gefunden (aber es ist immer noch ein Problem). Die Dokumentation besagt, dass die angezeigte Zahl die Summe von:

  • Anzahl der Likes dieser URL
  • Anzahl der Freigaben dieser URL (dies beinhaltet das Kopieren / Einfügen eines Links zurück zu Facebook)
  • Anzahl der Likes und Kommentare zu Geschichten auf Facebook über diese URL
  • Anzahl der Posteingangsnachrichten, die diese URL als Anhang enthalten.

aber auf meiner Website ist die angezeigte Anzahl die Summe dieser 4 Zählungen + Anzahl der Aktien (wieder)

Aziz
quelle
1

Mit FQL können Sie das tun:

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

Es gibt ein Rubinjuwel dafür - SocialShares

Derzeit werden folgende soziale Netzwerke unterstützt:

  • Facebook
  • Twitter
  • Google Plus
  • reddit
  • Linkedin
  • pinterest
  • stolpern
  • vkontakte
  • mail.ru
  • odnoklassniki

Verwendung:

: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
quelle
1

Sie können https://graph.facebook.com/v3.0/ {Place_your_Page_ID here} / feed? Fields = id, freigeben, share_count & access_token = {Place_your_access_token_here} verwenden, um die Anzahl der Freigaben zu ermitteln.

Gunta Vaishnavi
quelle