2010-06-25 5 views
5

Ich baue eine Facebook-App, die eine Funktion zum Senden an Freunde enthält.Facebook-Anfragen - wie benutzerdefinierte Variablen von der Seite Anfragen weitergeleitet werden

Jeder Benutzer erhält einen spezifischen Benutzerschlüssel, der sie und sie allein identifiziert.

So Person A lädt Person B.

Also, wenn Person B die Einladung bekommt, wenn sie akzeptieren klicken, wir die Referrer userkey in der URL übergeben ... z.B. http://mydomain.com.au/return_user.aspx?referrerkey=iuahsduiahsdfuiha

Wenn also Person B die fb-App bereits installiert hat, werden die Referrerkey-Variablen an unsere Site zurückgegeben, sodass wir die Verbindung zwischen den beiden Benutzern verwalten können.

Allerdings, wenn Person B die App nicht hinzugefügt hat. Und Person B klickt die ACCEPT-Schaltfläche auf der Einladungsseite, die der Benutzer über die Seite "Zugriff zulassen" aufrufen muss. Von dort aus werden sie zurück zur APP-Startseite geleitet, ohne dass eine der Variablen benötigt wird. Z.B. der Referrer-Schlüssel.

Also wie kann ich dies für beide Benutzer, die die App bereits hinzugefügt und die App nicht hinzugefügt haben, funktionieren?

Antwort

1

Die einzige Option, die ich kenne, ist das Hinzufügen der App und das Verknüpfen von zwei getrennten Prozessen mit Freunden.

2

Angenommen, Sie verwenden das PHP-Facebook-SDK und eine Zeichenbereichsanwendung, verwenden Sie wahrscheinlich require_login(), um den Benutzer zum Authentifizierungsbildschirm umzuleiten. Standardmäßig sendet der Authentifizierungsbildschirm den Benutzer zurück an die Canvas-URL, die Sie in den App-Einstellungen festgelegt haben.

Um dies zu umgehen, übergeben Sie einen GET-Parameter namens "next" mit einer urlencodierten URL als Wert. Wenn Sie Glück haben, ist in Ihrer Version des Facebook-SDK dieser Code zwar voreingestellt, aber nicht aktiv. Suchen Sie in der Facebook-Klasse nach '& next ='.

4

Ja, der Request 2.0-Flow wird den Benutzer immer wieder auf die Canvas-Homepage bringen - das ist nicht zu vermeiden.

Wenn Sie die Anforderung jedoch erstellen, können Sie dem Anfrageobjekt den Parameter "data" hinzufügen und die gewünschten Daten darin einfügen. Suchen Sie dann auf der Startseite Ihrer Arbeitsfläche nach Daten in der signed_request. Richte eine Variable wie, user_id oder eine appspezifische Variable, Spielnummer oder etwas ein. Wenn es vorhanden ist, leiten Sie es auf eine passendere Seite oder Route um.

Sie können Einträge zu Ihrer App identifizieren, indem Sie sie von anderen Umleitungen, die keine Anfrage erfordern, auf unsere Canvas-Homepage unterscheiden, da request_ids in signed_request vorhanden sein wird.

Hinweis, Sie können auch die Anfrage-ID nehmen, und erhalten Sie das Objekt von Facebook, die die "von" Referrer haben wird. Sie müssen das also nicht weitergeben.

+0

Ich bin auch auf der Suche nach meinem Weg zu Facebook Anfrage ... sagte, dass .. von "app_data" meinst du "Daten" -Parameter wie hier aufgeführt, https://developers.facebook.com/docs/reference/ Dialoge/Anfragen/ist das richtig? –

+1

@luca ja - alter Name war "app_data" new ist "data" (wie es im return signed_request array erscheint, es ist "data" –

Verwandte Themen