Přejít k navigační liště

Zdroják » Různé » Odeslání příspěvku na stránku přes FB API

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

Články Různé

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

Nálepky:

Článek původně vyšel na autorově webu Je čas.

Máme-li vlastní FB stránku a chceme například dát vědět jejím fanouškům o novém příspěvku na webu, hodí se možnost odeslat zprávu na Facebook přímo z redakčního systému. Jak toho docílit?

Vytvoření aplikace

  1. Kliknout na stránce developers.facebook.com na Apps → Create a New App.
    vytvoreni-nove-aplikace
  2. Zadat název aplikace a určit kategorii. V případě, že chceme využít API k posílání příspěvků na svou FB stránku je vhodné zvolit Apps for Pages.
    vytvoreni-aplikace
  3. Po opsání ověřovacího kódu by se aplikace měla vytvořit.
    vytvorena-aplikace
  4. Na stránce developers.facebook.com/tools/explorer/ si potom aplikaci vybereme a zvolíme Get Access Token.
    access-token
  5. V objevivším se okně zvolíme oprávnění, která budeme potřebovat. Pro přispívání na vlastní Facebookovou stránku se budou hodit položky manage_pages a publish_actions z karty Extended Permissions.
    nastaveni-opravneni
  6. Nyní je třeba aplikaci udělit oprávnění ze svého účtu na Facebooku.
    prispivaniNejprve povolit aplikaci přístup do svého účtu a potom do svých FB Pages.manage-pages
  7. Nyní je vše připravené k využívání API.

Publikování příspěvků

Pro psaní na stránku „jako stránka“ potřebujeme zjistit:

  1. ID stránky. To získáme v nastavení stránky v nabídce Page Info úplně dole jako Facebook Page ID.
    id-stranky

  1. App ID a App Secret
    vytvorena-aplikace

Celý proces odeslání příspěvku potom funguje následovně:

  1. V prohlížeči, kde jsme přihlášeni k účtu, který má oprávnění spravovat stránku, spustíme vlastní PHP skript pro odeslání (example.com/odeslat.php).
  2. Tento skript hlavičkou header přesměruje na stránku Facebooku (předá ji ID aplikace a URL sebe sama). V případě, že je člověk přihlášen ke svému profilu, Facebook přesměruje zpátky na určenou adresu a v parametru URL (tzv. query string – QS) pošle kód.
  3. S tímto kódem můžeme získat access token k dané aplikaci.
  4. S access tokenem aplikace následně získáme access token stránky (Page).
  5. S access tokenem stránky konečně můžeme učinit konečný požadavek, kterým publikujeme příspěvek.

Hotový skript na GitHubu (našel jsem ho někde na internetu, šel by napsat lépe, ale funguje)

Odkazy a zdroje

Komentáře

Subscribe
Upozornit na
guest
5 Komentářů
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
View all comments
Tomas Jurman

Ahoj díky za článek. Moc mi pomohl.
Odesílat aktuality z RS přímo na FB jsem měl dlouho v plánu.

Tomas Dvorak

Tahle věta mě trochu děsí:

Hotový skript na GitHubu (našel jsem ho někde na internetu, šel by napsat lépe, ale funguje)

Nešlo alespoň dohledat / odkázat původní zdroj, případně to raději vůbec nezmiňovat? Uloupit script kdesi na internetu a hodit k sobě na github…

Kolemjdouci

Nějak nechápu význam článku.
Nic jsem se z toho nedozvěděl, místo FB API autor rozebírá nastavení FB aplikace a kód je navíc odněkud z internetu.

Roman Pospíšilík

Tohle jsem už jednou také řešil, když jsem na jednu FB stránku potřeboval přes cron pravidelně vkládat jídelní lístek na následující den. Problém byl v tom, že token, který jsem získal, měl krátkou životnost … a tak bylo potřeba složitými cestami vytvořit token, který nemá expiraci.
Nejdříve je potřeba si vygenerovat token s expirací (1 hodina):

https://www.facebook.com?client_id=%5BAPPID%5D&client_secret=%5BAPPSECRET%5D&redirect_uri%5Bhttp://APPURL%5D&scope=manage_pages,read_stream&response_type=token

Pak tento token vložit sem:

https://graph.facebook.com/oauth/access_token?client_id=%5BAPP_ID%5D&client_secret=%5BAPP_SECRET%5D&grant_type=fb_exchange_token&fb_exchange_token=%5BEXISTING_ACCESS_TOKEN%5D

A pak sem:

https://graph.facebook.com/me/accounts?access_token=%5BTOKEN%5D

A zde nám už vypíše token bez expirace. Jeho platnost si můžete pak ověřit zde: https://developers.facebook.com/tools/debug/accesstoken

Shneck

Musim mockrát poděkovat…dost hodin jsem to se svou nedokonalou angličtinou luštil z nápovědy facebooku a až váš komentář to nádherně shrnul česky a jednoduše… Ještě jednou mockrát děkuju

Enum a statická analýza kódu

Mám jednu univerzální radu pro začínající programátorty. V učení sice neexistují rychlé zkratky, ovšem tuhle radu můžete snadno začít používat a zrychlit tak tempo učení. Tou tajemnou ingrediencí je statická analýza kódu. Ukážeme si to na příkladu enum.

Pocta C64

Za prvopočátek své programátorské kariéry vděčím počítači Commodore 64. Tehdy jsem genialitu návrhu nemohl docenit. Dnes dokážu lehce nahlédnout pod pokličku. Chtěl bych se o to s vámi podělit a vzdát mu hold.