Grafik API'sını kullanarak paylaşım sayılarını alma


136

PHP SDK kullanarak ve kullanımdan kaldırılmış dinlenme API'sini kullanarak bir URL'nin paylaşım sayısını alabilirim, ancak grafik API'sini kullanarak bir URL'nin paylaşım sayısını almanın bir yolunu bulamadım.

Öğrenmenin bir yolu var mı?


Sizin için çözümü buradan edinin stackoverflow.com/questions/6137414/…
Sakata Gintoki

Lütfen cevabı buradan kontrol edin: stackoverflow.com/questions/9728279/…
Atif Tarık

8 Ağustos 2016 sonrası (kullanımdan kaldırıldı) cevap: stackoverflow.com/a/39379251/4607317
budi

Yanıtlar:


270

İstatistiklerinizi almak için API bağlantılarının bir listesi:

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

Düzenleme: Birinin kullanımdan kaldırıldığı için Twitter uç noktası kaldırıldı.

Düzenleme: Facebook REST API'sı kullanımdan kaldırıldı


1
Bağlantılı çalışmıyor (403 erişim engellendi)
Maxim Krizhanovsky

2
Her istek için API çağrı sınırı ne kadardır?
StErMi

8
Merhaba ! Bu liste için teşekkürler. Api.facebook.com/method/links.getStats API bitiş noktasıyla ilgili belgeleri bulamıyorum . Gerçekten işe yarıyor, ancak yakında hizmet dışı bırakılacak bir API sürümünün parçası olmadığından emin olmak istiyorum. Ayrıca bunun kimlik doğrulaması olmadan kullanılabilir olması da garip ... Facebook dokümanlarında bununla ilgili bir şey görüyor musunuz? Grafik API'sinin bir parçası değil ...
24abojad

10
Facebook bağlantısı artık çalışmıyor. Graph.facebook.com/?id=http://www.google.com
MarkOverride

8
@MarkOveride daha da iyileştirilmiş bir sürümü (daha az bant genişliği) geçersiz kılmak graph.facebook.com/?fields=share&id=http://www.google.com . Sorun şu ki, bu yeni uç noktalar ciddi oranda hız sınırlıdır ve söz konusu sınırlarla karşılaşmadan bunları üretimde kullanmak çok zordur. Birinin bunu yapmanın farklı bir yolu varsa lütfen bize bildirin.
njy

200

GÜNCELLEME - Nisan '15:

Beğen düğmesinde bulunan sayıyı almak istiyorsanız engagement, og_objectnesne içindeki alanı aşağıdaki gibi kullanmalısınız:

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

Sonuç:

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

Grafik API ile mümkündür, şunları kullanın:

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

gibi bir şey:

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

Dönecekti:

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

GÜNCELLEME: yukarıdakilerin payı nasıl alacağına cevap verirken . Bu sayı, Beğen Düğmesinde gördüğünüze eşit değildir , çünkü bu sayı aşağıdakilerin toplamıdır:

  • Bu URL'nin beğenme sayısı
  • Bu URL'nin paylaşım sayısı (buna bağlantıyı Facebook'a geri kopyalamak / yapıştırmak dahildir)
  • Facebook'ta bu URL ile ilgili hikayelerdeki beğeni ve yorum sayısı
  • Bu URL'yi ek olarak içeren gelen kutusu mesajlarının sayısı.

Böylece, fqlBitiş Noktası ( link_stattablo) üzerinden Grafik API'sı ile Beğen Düğmesi numarasını almak mümkündür :

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 Beğen Düğmesinde gösterilen sayıdır.


Belirli nesneler için pay sayımı alamıyorum. En az bir payları olması gerektiğini biliyorum.
Jan Deinhard

1
@Fair, evet bazen sayı doğru değil ve biraz kafa karıştırıcı. Diğer cevap tarafından önerilen fql tablosunu kullanabilirsiniz, ancak yine de ... bazen sayılar da doğru değil!
ifaour

birkaç siteden pay almak mümkün mü?
Aziz

@Aziz, ne demek istiyorsun?
ifaour

3
As v2.6 doc almak izin vermez share_count, like_countve comment_count, öyle görünüyor fqlve REST API hala en iyi seçenek vardır ... Ancak her iki fqlve REST API artık 7 Ağustos 2016 sonra kullanılabilir olacak! Baska öneri?
Daniel García Baena

21

Grafik API'sini kullanmamalısınız. İkisinden birini ararsanız:

veya

her ikisi de geri döner:

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

Ancak gösterilen sayı toplamıdır :

  • bu URL'nin beğeni sayısı
  • bu URL'nin paylaşım sayısı (buna bağlantıyı Facebook'a geri kopyalamak / yapıştırmak dahildir)
  • Facebook'ta bu URL ile ilgili hikayelerde beğeni ve yorum sayısı
  • bu URL'yi ek olarak içeren gelen kutusu mesajlarının sayısı.

Yani FQL kullanmalısınız.
Şu cevaba bakın: Bir makaleden facebook beğeni, paylaşım, yorum sayısı nasıl alınır


kesinlikle haklısın, total_shares tarafından yapılan yorumların + beğenilerin + paylaşımların toplamıdır, ancak istediğim sayfa paylaşımları gösterir_i_have = total_shares + beğenileri
Aziz

14

7 Ağustos 2016'dan sonra aramanızı şu şekilde yapabilirsiniz:

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

ancak yanıt biçimi farklı olacaktır:

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

ama bunun yerine

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

Yani yanıtı şu şekilde işlemek zorunda kalacaksınız:

reponse_variable.share.share_count

1
Ancak share_count değeri, beğeni + paylaşımların toplamına atıfta bulunduğundan yanıltıcıdır
Alon Bilu

Sanırım haklısınız, cevabım sadece API'yı nasıl arayacağınızla ilgili bir güncellemeydi. @Freedev'in hisse sayımları hakkında söylediklerinin hala doğru olabileceğini düşünüyorum.
Giorgio Tempesta

8

Ne yararlı buldum ve yukarıdaki bir bağlantıda buldum link_stat tablosuna bakarak bir bağlantı seviyor, toplam, paylaşım ve tıklama sayısını sormak bu FQL sorgusu

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

Bu şöyle bir şey çıkarır:

{
    data: [
        {
             like_count: 3440162,
             total_count: 13226503,
             share_count: 7732740,
             click_count: 265614,
             comment_count: 2053601
         }
    ]
}

2
8 Ağustos 2016 itibariyle FQL artık kullanılamayacak ve sorgulanamayacak. Uygulamanızı taşımak için bunun yerine yapabileceğiniz Grafik API çağrılarını görmek için API Yükseltme Aracı'nı kullanın.
Nguyen Minh Binh

7

Check out bu özünü . Aşağıdaki hizmetler için paylaşım sayısını nasıl alacağınıza ilişkin snippet'leri vardır:

  • Facebook
  • heyecan
  • Google artı
  • pinterest
  • LinkedIn
  • Tökezledi

Bu birkaç yaşında. Her hizmetin API'larını ne sıklıkta güncellediğiyle, çok doğru olduğundan şüpheliyim.
subvertallchris

4

Facebook benzeri düğme, API'nın yapmadığı iki şey yapar. Bu ikisini karşılaştırdığınızda karışıklık yaratabilir.

  1. Beğen düğmenizde kullandığınız URL'nin bir yönlendirmesi varsa, düğme aslında yönlendirme URL'sinin sayısını ve kullandığınız URL'nin sayısını gösterir.

  2. Sayfada bir og: url özelliği varsa, benzer düğmesi tarayıcıdaki url yerine o url'nin beğenilerini gösterir.

Umarım bu birine yardımcı olur



1

i FQL kullandığımda sorunu buldum (ama yine de sorun) belgeler gösterilen sayı toplamı diyor:

  • bu URL'nin beğeni sayısı
  • bu URL'nin paylaşım sayısı (buna bağlantıyı Facebook'a geri kopyalamak / yapıştırmak dahildir)
  • Facebook'ta bu URL ile ilgili hikayelerde beğeni ve yorum sayısı
  • bu URL'yi ek olarak içeren gelen kutusu mesajlarının sayısı.

ancak web sitemde gösterilen sayı bu 4 sayımın + hisse adedinin toplamıdır (tekrar)


1

FQL kullanarak şunları yapabilirsiniz:

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

1

Bunun için bir yakut mücevher var - SocialShares

Şu anda aşağıdaki sosyal ağları desteklemektedir:

  • Facebook
  • heyecan
  • Google artı
  • reddit
  • linkedin
  • pinterest
  • stumbleupon
  • vKontakte
  • mail.ru
  • odnoklassniki

Kullanımı:

: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

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.