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.