Autor Zpráva
karlos1
Profil *
Ahoj,

řeším nyní požadavek, kdy máme na webu možnost vkládat recenze jednotlivými uživateli a tyto recenze bychom automaticky rádi posílali na zeď našeho facebookového profilu.

Zkoušel jsem hledat, procházel jsem i web developers.facebook.com, ale nic konkrétního jsem nenašel. Vím, že pokud to půjde, v což pevně věřím, bude to nějak přes facebookové API, ale už nevím, pod čím a jak to hledat.

Máte s tímto někdo zkušenosti?

Děkuji.
Str4wberry
Profil
Zrovna včera jsem něco takového zkoušel.

Problém je, že Facebook aplikace, která odeslání může zajistit, potřebuje jistý access token, který jde zjistit až po ověření přihlášeného uživatele a má omezenou platnost.

Vytvořit skript, který by se ručně spouštěl uživatelem přihlášeným na Facebooku a přidal příspěvek na stránku možné je. Ryze automatické řešení naráží právě na omezenou platnost ověřovacího tokenu.
karlos1
Profil *
Str4wberry:
Nepotřebuji publikovat jménem uživatele, ale FB stránky. Tam by mělo stačit nějaké app ID, secret ID, a tak, ne? Přihlášeného uživatele nepotřebuji, ani nechci.
Medvídek
Profil
karlos1:
Potřebuješ jak user access token, tak page access token:

Page Access Token – These access tokens are similar to user access tokens, except that they provide permission to APIs that read, write or modify the data belonging to a Facebook Page. To obtain a page access token you need to start by obtaining a user access token and asking for the manage_pages permission. Once you have the user access token you then get the page access token via the Graph API.

Možno využít Long-Lived Tokens
karlos1
Profil *
Medvídek:
to je dvné, když to s uživatelem vůbec nesouvisí.

Myslíš, že by šlo použít user token vygeenrovaný pro můj účet, ten tam nějak vložit/použít a příspěvky by se pak na zdi zobrazovaly od kohokoliv (z formuláře od všech)? Nebo to je ještě provázané s konkrétním uživatelem, tedy nějakou jeho cookie, atp.?
Str4wberry
Profil
Ono to s uživatelem souvisí.

Uživatel má práva k administraci stránky. A aplikaci musí takový oprávněný uživatel udělit práva k spravování dané Page.

Celý proces tedy začíná u uživatele. Po jehož ověření dostanete access token k aplikaci a dalším požadavkem získáte konečně access token k přispívání do dané stránky.

Vygenerovat si token pro svůj účet pro danou aplikaci si můžete zkusit s využitím Graph API Exploreru, ale platí právě jen omezenou dobu.
karlos1
Profil *
Str4wberry:
Jasně, že to s uživatelem nesouvisí, jsem myslel návštěvníka webu. Se mnou coby uživatelem a vlastníkem stránky to, pochopitelně, souvisí.

Takže s mým (vlastníkem FB page) tokenem by to šlo? Nehledě na to, že bude na webu přispívat anonym, použije se můj token (majitele FB page)?

Ještě se zeptám, odpověď jsem taky nenašel: token platí omezenou dobu. Co to znamená? Hlídat si čas a vždy ho ručně obnovit?
Taps
Profil
karlos1:
token platí omezenou dobu. Co to znamená? Hlídat si čas a vždy ho ručně obnovit?
To znemaná že token je platný po určitý časový úsek (např. x minut)
karlos1
Profil *
Taps:
Nevím, jestli jsi nepochopil, na co jsem se ptal, nebo útočíš schválně.
Jasně, že omezená doba = platný po určitý časový úsek.

Jenže, na to ta otázka nesměřovala. Směřovala k tomu, jestli se dá token nějak obnovovat automaticky, nebo jej musím po určitém časem obnovovat pravidelně a ručně sám.
Medvídek
Profil
karlos1:
Zde si můžeš přečíst naprosto vše o FB tokenech, je to tam krásně popsáno jak to funguje: https://developers.facebook.com/docs/facebook-login/access-tokens
karlos1
Profil *
Medvídek:
Mrknu, díky.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: