Facebook Berechtigungsproblem

stimmen
3

Ich arbeite an einem Facebook-App und es gibt etwas, das ich verstehe einfach nicht, wie sie ihr Berechtigungssystem funktioniert.

Unsere Grundeinstellung ist diese

Leinwand URL = domain.com/facebook

Dies ist eine einfache Seite mit einem FBML Iframe-Elemente, das auf domain.com/facebook/app Punkte, die eine HTML-Seite, die eine Flash-Anwendung serviert.

Die Flash-Anwendung fordert zusätzliche Daten aus unserem Applikationsserver - einige dieser Anträge auf Facebook Daten fragen (wie eine Liste von Freund IDs).

So Blitz macht dann eine Anforderung an domain.com/resources/facebook/friends - das ist eine PHP-Seite, die eine Facebook-Instanz erstellt (ihre PHP-Bibliothek) und führt den notwendigen Aufruf an ihre API und gibt die Daten aus.

Allerdings ist die Anforderung an diese URL (durch Flash) nicht bestätigen, so wird sie dann auf ihre Login umgeleitet , wenn dann leitet sich meine Leinwand URL mit zwei Parametern zurück - auth_token und nächste . So ist die Anforderung gültig ist , aber die Umleitung bricht den Flash - Anruf.

Also, ich versuche, herauszufinden, wie diese API-Aufrufe zu machen (wenn du Keule Facebook-API-Aufrufe) von der Facebook-vaildated wird get-go.

Veröffentlicht am 27/01/2009 um 19:14
quelle vom benutzer
In anderen Sprachen...                            


2 antworten

stimmen
1

Ok, ich es herausgefunden.

Wie sich herausstellt, folgt Blitz bereits die Umleitungen - alles , was ich brauchte (auf der Leinwand URL) zu tun zu erkennen war , wenn es um eine Autorisierungsanfrage war (durch die Anwesenheit bemerkt auth_token und nächste und) umfassen die auth_token als GET - Parameter , wenn ich auf die nächste URL umgeleitet (im Grunde, leitet die auth_token auf die ursprüngliche Anfrage).

Also, im Gegensatz zu dem, was ich oben gesagt, hat die Umleitung den Blitz nicht Anruf zu brechen - es hat einfach nicht genügend Daten hat eine gültige Anforderung zu sein.

Beantwortet am 27/01/2009 um 21:55
quelle vom benutzer

stimmen
1

Lösen Sie den Code unten anstelle der Putting „require_login ()“ Linie

if (isset($_GET['auth_token'])) {
 $sess_data=$facebook->api_client->call_method('auth.getSession',array('auth_token'=>$_GET['auth_token']));
 $facebook->set_user($sess_data['uid'],$sess_data['session_key'],$sess_data['expires']);
 $user=$sess_data['uid'];
}
if (!$sess_data) {
 $user=$facebook->require_login();
}
Beantwortet am 24/01/2010 um 21:01
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more