2012-04-01 3 views
2

ich Anfragen an Freunde senden können "Multi Friend Request Selector" in meiner Seite Tab App verwenden, die Verbindung wie folgt aussieht:Facebook SDK: Senden Anfrage von Seite Tab App

https://www.facebook.com/<my_page_name>/app_<my_app_id> 

Mein Freund meine Anfrage erhält, und Klicken Sie auf "Akzeptieren". Es leitet an den echten Link der Facebook-App, die ist:

, die nicht mehr in einem Page Tab mehr ist. Wie kann ich den Benutzer an den ersten Link statt an den zweiten Link weiterleiten, während die request_ids beibehalten werden müssen? Mache ich einfach eine header('Location: url'); Weiterleitung?

p.s. Timeline wird bereits verwendet.

Antwort

4

Ja, Sie müssen auf Ihre Seite URL weiterleiten, da Anfragen immer Redirect auf die Canvas-URL.

Um die Anforderungs-IDs zu übergeben, können Sie das Feld verwenden. Anstatt also zu https://www.facebook.com/<my_page_name>/app_<my_app_id> umzuleiten, leiten Sie um auf https://www.facebook.com/<my_page_name>/app_<my_app_id>?app_data=requestids. Hier requestids sind die tatsächlichen Werte (die durch Komma getrennte Liste, die der Canvas bekommt).

ist für Ihre Seite Registerkarte App als Teil der signed_request erhalten.

Von docs:

Darüber hinaus Ihre App auch einen String-Parameter erhalten als Teil signed_request genannt App_Data, wenn ein App_Data Parameter in der ursprünglichen Abfrage-String in der URL Ihrer Registerkarte gesetzt wurde geladen. Für den obigen Link "Shop Now" könnte das wie folgt aussehen: "https://www.facebook.com/YourPage?v=app_1234567890 & app_data = any_string_here". Sie können damit den von Ihnen gerenderten Inhalt anpassen, wenn Sie die Generierung des Links steuern.

+1

Fast perfekte Antwort. Der Weiterleitungslink sollte lauten: "https://www.facebook.com//app_ ? App_data = requests" und PHP 'header ('Ort: url')' funktioniert in diesem Fall nicht. Sie müssen clientseitige JavaScript-Weiterleitungen verwenden. – Raptor

+1

froh, dass es geholfen hat..ich habe nichts über 'header' erwähnt, weil es manchmal funktioniert, (wenn Sie noch keine Ausgabe an den Browser gesendet haben), afaik. die url, ich war mir bei dieser form nicht so sicher, ich bin an den älteren stil gewöhnt, https: //www.facebook.com/YourPage? v = app_1234567890 & app_data = any_string_here'. trotzdem danke, ich habe auch was gelernt. –

+0

FYI, beide Format von URL funktioniert, aber Facebook scheint meine Version nach Änderung in Timeline bevorzugen, da es das Standard-Link-Format von Timeline ist. – Raptor

Verwandte Themen