Jak zjistit počet sdílení na FB a Twitteru

Pro snadné sdílení adresy stránky ze strany návštěvníků na sociálních sítích jde použít přímo dostupná tlačítka pro sdílení. Tato tlačítka dokáží ukazovat počet lidí, co stránku sdíleli.

Zobrazení počtu sdílení
Výsledek použití nativních prvků sociálních sítí

Bohužel tyto prvky znamenají značnou zátěž na rychlost načítání, navíc provozovatelé zmíněných služeb mohou vloženými skripty šmírovat své přihlášené návštěvníky.

Pokud jsou počty sdílení pro návštěvníky zajímavé, nabízí se je získat jinou – méně obtěžující – cestou.

Facebook

Facebooku dokáže připravit JSON s potřebnými daty na adrese:

https://graph.facebook.com/?id=http://example.com

Výsledek je potom ve vlastnosti shares:

{
  "id": "http://example.com",
  "shares": 527617
}

Pro použití přímo v JavaScriptu jde předat callback s názvem vlastní funkce, připojit adresu jako <script>, což zavolá vlastní funkci s předanými daty. Tento postup se označuje jako JSONP (JS objekt notace s „vycpávkou“).

https://graph.facebook.com/?callback=nazevFunkce&id=http://example.com

Kromě počtu sdílení umí Facebook ukazovat i případný počet komentářů. Výsledek:

/**/ nazevFunkce({
  "id": "http://example.com",
  "shares": 527617,
  "comments": 11354
});

Twitter

U Twitteru byl postup obdobný. Zobrazení počtu sdílení bylo ale následně skryto a není možné se k němu dostat.

U Twitteru je postup obdobný. Jen je logicky jiná adresa.

http://urls.api.twitter.com/1/urls/count.json?url=http://example.com

Počet sdílení na Twitteru je ve vlastnosti count:

{"count":12066,"url":"http:\/\/example.com\/"}

Použití JS callbacku je totožené jako u Facebooku.

Google Plus

Google veřejně dostupné JSON API pro získání počtu „+1“ nenabízí. Jedna možnost nejspíš bude si nechat vytvořit API klíč a použít standardní metody. Bez získávání klíče jde počet sdílení získat parsováním obsahu stránky s rychlým tlačítkem pro sdílení:

https://plusone.google.com/u/0/_/+1/fastbutton?url=http://example.com

Počet sdílení z kódu jde vytáhnout regulárním výrazem „window\.__SSR = \{c: (\d*).0 ,“.

Zobrazení počtu sdílení

Pro maximální rychlost načítání je vhodné údaje o počtu sdílení periodicky získávat CRONem a ukládat do DB.

  1. Uživatel nebude muset čekat, až se pomocí API získá počet sdílení.
  2. Z uložených dat půjde případně i snadno vykreslit graf sdílenosti stránky v čase.

Odkazy jinam

To je všechno. Líbil se vám článek a chcete se dozvědět, až vyjde další?

Sledujte:

 

Připomínky mi pište do komentářů ↓

Facebook Like, Google Plus a Twitter tlačítka

Tlačítka pro sdílení na sociálních sítích

Různé možnosti, jak mít na webu tlačítka pro sdílení na sociálních sítích.

Náhled webu při sdílení na sociálních sítích

Náhled odkazu při sdílení na sociálních sítích

Jak upravit stránku, aby se hezky zobrazovala při sdílení na Facebooku a Twitteru.

Rozměry Facebook coveru

Velikost Facebook coveru

Jaké má rozměry „Facebook cover“ a profilová fotka. Jak je profilový obrázek umístěn.

Clickjacking na Facebooku

Clickjacking na Facebooku

Jak funguje clickjacking na Facebooku a jak se proti němu bránit.

Odeslání příspěvku přes Facebook API

Odeslání příspěvku na stránku přes FB API

Jak v PHP odesílat příspěvky na Facebook stránku (Page) pomocí Facebook API.

Komentáře