Komentáře k článku
Aplikace pro Facebook od základů – díl I.

V tomto seriálu si představíme celý ekosystém vývoje aplikací pro Facebook. V prvním díle se budeme věnovat převážně teorii – vysvětlíme co Facebook aplikace vůbec je a představíme dostupné prostředky pro její vývoj. Nakoukneme do praxe a vytvoříme společně vaši první „hello world“ aplikaci.
bezpecnost
Zaujimavy clanok ale priznam sa mna skor trapi otazka bezpecnosti. Ja, ako uzivatel, apriory mam dost negativny postoj k roznym aplikacima na FB prave preto ze bezia na strane tvorcu app (cez spominany iframe). Nejak hlbsie som zatial nestudoval spominane API ani sposob komunikacie medzi FB a tvorcami aplikacie (mam na mysli skor tu ludsku nez aplikacnu/strojovu). Je mozne ze aplikacia cez API zneuzije moje data v mojom profile (myslene do akej miery dokazem ja ako uzivatel obmedzit pristup aplikacie k mojim datam) ? A tiez by ma zaujimalo ci FB ma nejaky schvalovaci proces alebo proste kto si co vytvori tak to je hned na app.FB ?
Re: bezpecnost
FB aplikace se nijak neověřuje (Facebookem), vývojář během pár sekund zaregistruje novou app a ta hned funguje.
Nicméně app může číst či měnit jen to, o co si požádá a co jí uživatel *schválí*. Když je to app, co slouží jen k přihlášení a kromě základních (veřejných) údajů si žádá třeba jen email navíc, je to košer, ale pokud chce i zapisovat na zeď a číst statusy, což zjevně nepotřebuje, buď je to pomatený vývojář co někde zkopíroval zbytečně moc permissions do skriptu, anebo vyčůraný vývojář. Ani jedno není dobré…
Ale to je problém všude a na všech OS – viděl jsem aplikace na Androidu, které zobrazují hodiny na homepage (a nic jiného) a žádají si přístup k internetu, SMS, emailům, kontaktům, jejich změně, atd.
To není problém FB, ale „vývojářů“.
https
Jak to vypadá s tím povinným zavedením HTTPS pro aplikace? Zahlédl jsem něco o prvním říjnu. Změnilo se něco?
Re: https
Pořád to platí. Forma, jakou to budou realizovat a zda to např. budou požadovat zpětně i po existujících aplikací, jsem se nikde nedočetl. Zdrojem této informace je developer roadmap a přidružený blog post
Re: https
Dík za odpověď. Nechám se překvapit, jak to dopadne.
Re: https
Bude to povinné pro všechny aplikace. Tzv. migrations Facebook vždy závádí globálně bez výjimek.
Otázka ja jak to bude se stále funkčními FBML aplikacemi, kde SSL z principu nedává žádný smysl.
skript
Může mi někdo vysvětlit, proč je v ukázkovém skriptu potřeba definovat API_KEY, CANVAS_PAGE a CANVAS_URL? Skript ani knihovny nic z toho nepoužívají … Díky.
Re: skript
CANVAS PAGE a URL využijeme v dalších dílech pro přesměrovávání uživatele po autorizaci aplikace. API_KEY máme v ukázce pravda nadbytečně, v současné době již není potřeba.
facebook->getLoginUrl()
Ahoj,
zkusil jsem si udělat tento příklad.
Jedu proti localhostu. Když tu moji aplikaci nemám autentikovanou, získám si url přes facebook->getLoginUrl().Ta je v takovémto tvaru (https://www.facebook.com/dialog/oauth?client_id=…). Když na to v iframe kliknu, tak mě to přesměruje nejdříve na nějakou stránku, kde je banner facebooku s linkem (https://www.facebook.com/dialog/permissions.request?app_id=…). Na ten když kliknu, dostanu se do formulářem s potvrzením aplikace.
Pokud to zkusím přímo na localhostu, tak se mi ta mezistránka nezobrazuje. V obou případech sem po celou dobu přihlášený na facebooku.
Jak se mám té mezistránky přes iframe zbavit?
Díky moc.
Re: facebook->getLoginUrl()
Ahoj,
pokud odkazuješ pomocí html odkazu použij target=“top“
Pokud přesměrováváš z php, použij drobný „trik“ s javascirptem
<?php
echo '<script>top.location.href = "www.url.com"</script>' ;
?>
další?
jak často budou vycházet další díli? měl bych chut si prečíst další ale žádný není :(
Re: další?
Poslední týden v září bychom měli mít dokončený druhý díl :-)
Časté změny
Mám vlastní zkušenost, že po každé když dělám aplikaci pro Facebook, tak je něco jinak. Začalo to tím, že zavedli Graph API, několikrát se výrazně změnilo webové rozhraní pro nastavení aplikace, zavedli OAuth, zrušili FMBL Canvas. Zkrátka spíš než spoléhat se na návody je nejjistější jít přímo na http://developers.facebook.com/ .
Re: Časté změny
Bohužel tvrdá realita… největší fail je, že se pak v komerční sféře nedá nic garantovat. Doufám, že se teď dění okolo FB API na chvíli uklidní. Migrace na OAuth2 už je u konce a nové JS SDK už běží víceméně stabilně.
pridani aplikace na listu stranky
ahoj, aplikaci vytvorenou mam, jak ale ji mam pridat na stranku na facebooku s odkazem pres listu?
Re: pridani aplikace na listu stranky
Ahoj, možná nerozumím dobře dotazu, ale předpokládám, že chceš přidat FB APP do záložky na FB PAGE?
1) Jdi na profilovou stránku aplikace (http://www.facebook.com/apps/application.php?id=TVOJE_APP_ID)
2) Vpravo dole u možností klikni na „Přidat na mou stránku“
3) Na stránku se přidá nová záložka s aplikací
Re: pridani aplikace na listu stranky
Vlevo dole O:-) viz http://i44.tinypic.com/2nrkcjt.png
Spouštění aplikace pouze v IFRAME
Ahoj, díky za článek, moc pomohl.
Jde nějak jednoduše ošetřit, aby se aplikace dala spouštět pouze přímo v IFRAME?
Potřeboval bych totiž zobrazovat vygenerovaný obsah jenom v panelu stránky, pro kterou je aplikace přidaná, a znemožnit zobrazení přímo z URL, kde aplikace běží.
Re: Spouštění aplikace pouze v IFRAME
Pokud nezískáš signed_request, znamená to, že aplikace není spuštěná na FB –> redirect.
Re: Spouštění aplikace pouze v IFRAME
Částečným řešením by také mohlo být přidat si do tab_url nebo canvas_url v developerovi nějaký parametr do URL, jehož existenci pak můžeš kontrolovat.
Problém s bublinou
Ahoj, začali jsme dělat vlastní aplikaci podle tohoto návodu, ale máme problém s tím, že se nám v pravo v aktivitách v té „bublině“ zobrazuje pořád „zdroják – hello world aplikace“ viz. http://cl.ly/060r0g3w020X3w2F3H0Y zkoušeli jsme přepsat úplně všechno i založit nový soubor, kde myslíte, že je problém?
Re: Problém s bublinou
Ahoj,
pravděpodobně někde v developerovi jsi ponechal todle jméno aplikace. Zkus tam prolézt všechny záložky, je tam toho hodně.
Re: Problém s bublinou
Prošel sem to úplně všecko.. jedině blbne opengraph.. ale když ho celej smažu a nastavim znova tak se to ukazuje stejně..