ugrás a tartalomhoz

Facebook alkalmazás indítás hiba az új oldalon

btamas86 · 2012. Már. 21. (Sze), 10.16
Sziasztok!

Már egy jó ideje küzdök egy problémával. A lényeg, hogy van egy Facebook app amit nemrég csináltam, de valamiért nem akar működni. Az app több oldalon is fut (ergo működik), csak más kinézettel, és értelem szerűen több felé van bontva adatbázisban is az adatok tárolása, de ebbe most ne menjünk bele.

Az appot feltettem a teszt oldalamra ahol tökéletesen működik is (új/régi nézetben is), de tesztelések után amikor feltettem az éles oldalra (nemrég lett átrakva az új kinézetre), ott viszont már nem. Amikor a felhasználó rányom az alkalmazás engedélyezésére, és átdobom az api által generált bejelentkeztető url-re, akkor ott elszáll az alábbi hibával: "Facebook URLs aren't scrapable by this Debugger. Try your own."

Próbáltam másik appot létrehozni neki hátha azzal van a gond, de nem. Csináltam már egy teljesen új oldalt is, de azon meg megy. Igazából mind1 mit állítok át, mindenhol működik, csak azon az oldalon nem, ahol futnia kellene. Canvas, page tab, website..., be van állítva.

Tud valaki tanácsot, ötletet adni, hogy miért lehet ez?
 
1

Rizsa nélkül

Poetro · 2012. Már. 21. (Sze), 15.50
Ok, most egy pillanatra felejtsük el, hogy új / régi nézet stb. Fókuszáljunk a lényegre. Mit próbálsz tenni, mi történik helyette? Mit szeretnél látni? Írd le a lépéseket, amit elkövetsz, a helyes működés érdekében, már csak azért is, mert a témanyitó nagyon összeszedetlennek tűnt.
2

Szokásos lépésekről van szó.

btamas86 · 2012. Már. 21. (Sze), 16.31
Szokásos lépésekről van szó. Tehát:
- Felhasználó like után tud belép.
- Like után fogadja egy üzenet, hogy az app használatához engedélyezni kell adatait... kattintson ide.

A kattintás után, átadom a Facebook api-nak az appId-t, secret-et. Ezután megnézem, hogy szerepel-e már az adatbázisban a felhasználó, de mivel nem, így generálok egy url-t a $facebook->loginUrl() függvénnyel, aminek átadom a scope (email,publish_stream), redirect_uri (működő oldal tabjának a címe) és display (page) paramétereket.
Amit itt kapok, arra dobom át a felhasználót, ami eddig rendben is van, de amikor arra az oldalra érkezik, akkor hasal el. Itt kell engedélyezni a felhasználónak az email címét és a posztolási lehetőséget, de sajnos ez már nem jön be, hanem error-t dob. Az url-t bemásoltam a debug tool-ba, és ott írta a fentebb már említett hibát.
3

- Felhasználó like után tud

Hidvégi Gábor · 2012. Már. 21. (Sze), 17.20
- Felhasználó like után tud belép.
Az appodat az után tudják használni, miután lájkolták?
4

Like nélkül

Poetro · 2012. Már. 21. (Sze), 17.56
Nem lehetne kivenni a lájkolást az egyenletből, és úgy megnézni, működik-e? Eleve, ekkor egyszerűsödik a képlet, valamint használhatja, megnézheti az alkalmazásodat. Ezek után, ha tetszik neki, akkor majd lájkolja.
5

Nem ez a gond.

btamas86 · 2012. Már. 22. (Cs), 11.18
Itt most az oldal népszerűsítéséről van szó, azért kell a like, ami nem az appra, hanem az oldalra vonatkozik. A like ellenőrzése nem egy nagy dolog, és nincs is sok köze a beléptetéshez, hiszen az a SignedRequest-el együtt jön. Kivenni felesleges is, hiszen a like megy, más oldalakon működik az app (mint azt már írtam is), így ennek nem sok értelme lenne.
Persze azért egy próbát megért, és kivettem, de ugyan úgy semmi.
6

Nem lesz népszerűbb

prototype · 2012. Már. 22. (Cs), 19.05
Szvsz. attól, hogy lájkolják még nem lesz népszerűbb. Az esetek 90%-ában max. a kíváncsiság vezérli a látogatókat. Vagy valami nagyon jót kell bedobnod 25M+1. alkalmazásként.
7

Tudom

btamas86 · 2012. Már. 22. (Cs), 22.32
Persze ezzel tisztában vagyok, de nem is nekem fontos ez. Én csak megcsinálom az alkalmazást, a többi nem rajtam múlik. :)
8

redirect_uri

complex857 · 2012. Már. 25. (V), 08.48
a facebook sdk getLoginUrl() -jenek, atadott tombben a redirect_uri -nek illeszkednie kell arra a domainre illetve site url -re amit a facebook app beallitasainal megadtal (vagy https://apps.facebook.com/...)

szoval, ha az app beallitasai igy neznek ki:
site url: http://fb.examle.com/
domain: example.com

akkor a redirect_uri csak valami http://fb.examle.com/... vagy https://apps.facebook.com/<app namespace> lehet, kozvetlenul a http://www.facebook.com -ra nem fogod tudni visszakuldeni a felhasznalot authentikacio utan. Erdemes lehet atfutnod a server side auth flow doksijat.

ezt ket fele keppen tudod megkerulni:

1) nem redirect -el telepitteted az appodat, hnem js sdk FB.login() -javal, es utana js-bol ellenorizheted, hogy a felhasznalo igent nyomott-e, ennek hatranya, hogy ehez a felhasznalonak kattintania kell vhova kulomben a popup blockerek meg fogjak allitani a az ablakot

2) visszairanyitod sajat fb.example.com/... alatti kododra a felhasznalot, majd onnan megint tovabbiranyitod http://www.facebook.com/<pageurl>/?sk=app_<appid> ala.
9

Köszönöm!

btamas86 · 2012. Már. 25. (V), 23.02
Köszönöm a tippet, eddig úgy tűnik megoldódott a probléma.

Az volt, hogy Facebook URL-re nem irányíthattam vissza, ami azért érdekes, mert eddig úgy működött mindig, és nem volt probléma, csak ezen az oldalon. Most átírtam, hogy a redirect_uri értéke a canvas-ra mutasson, és onnan dobja át a tab címére, ami már működik. Azért még tesztelgetjük és remélhetőleg több probléma nem lesz. :)