Wie zu autorisieren Facebook-app mit Umleitung in Leinwand?
Ich versuche in Facebook-apps, aber ich bin mit Mühe Genehmigung arbeiten eine Umleitung Schema im inneren der Leinwand.
Mithilfe der javascript-api, ich habe es funktioniert ziemlich leicht in einem popup-Schema:
$("#loginButton").click(function(e) {
FB.login(function(response) {
if (response.perms) {
perms();
}
}, {perms : 'publish_stream'});
Aber das popup sollte einen unnötigen extra-Klick, denn jede andere Anwendung, die ich sehe, fordert die Genehmigung sogar vor, zeigen Ihnen die landing-page. Wie diese:
Ich vermute Sie sind einfach mit einer redirect-Schema. So verbrachte ich den ganzen Tag versucht, die verschiedenen Möglichkeiten, die ich finden konnte:
header("Location: https://graph.facebook.com/oauth/authorize?client_id=" . $gAppId . "&redirect_uri=" . urlencode($gUrl) . "&perms=publish_stream");
header("Location: http://www.facebook.com/login.php?v=1.0&api_key=" . $gApiKey . "&next=" . urlencode($gUrl) . "&canvas=");
header("Location: http://www.facebook.com/connect/uiserver.php?app_id=" . $gAppId . "&next=" . urlencode($gUrl) . "&return_session=0&fbconnect=0&canvas=1&legacy_return=1&method=permissions.request");
Aber alle von Ihnen, anstatt zu zeigen, die autorisierungsanforderung Zeug, einen link wie diesen:
Lächerlich, wenn ich öffnen Sie die iframe-Adresse in einem neuen tab, bekomme ich die Genehmigung beantragen, wie ich wollte. Aber ich will, dass es sofort angezeigt wird, ohne eine zusätzliche klicken, wie bei jeder anderen app.
Hier ist ein Beispiel für eine app, die Autorisierung und die Anforderung von Berechtigungen, die alle in einem Rutsch, in umleiten form, vor der auch die Anzeige der Zielseite:
www.facebook.com/send.fortune.cookies
Wie tun Sie es?
InformationsquelleAutor Brandon | 2010-08-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Weiß ich, dass diese Monate jetzt alt... aber das ist, was Sie tun sollten hinzufügen, um die Berechtigung überprüfen zu Ihrer Leinwand.
InformationsquelleAutor Jay Moretti
Das problem ist, dass server-Seite-Umleitung ist nur umleiten Ihre innere app-Rahmen statt der Umleitung die ganze Seite, und Facebook nicht mag, um Ihre system-Dialoge innerhalb von frames.
Müssten Sie einige client-Seite-Umleitung, wahrscheinlich etwas entlang jenen Linien:
Ja ist es nicht weiterleiten wollen Sie die app-Seite, sondern geht direkt auf die Leinwand-url. Wenn ich erreicht dieses problem konnte ich nicht finden, eine bessere Lösung als umleiten Benutzer auf app-url selbst (server-Seite umleiten würde jetzt funktionieren). Sie können erkennen, ob oder nicht es ist umgeleitete Anruf nach der Berechtigung oder normale app call-by-checking request-Parameter. Wenn es Genehmigung umleiten sollte es einige spezifische Parameter, wie
auth_token
, die nicht vorhanden sind, sind in regelmäßigen Abruf. Wenn Sie erkannt diese Weiterleitung zu app-url.Danke, das würde den trick tun!
Funktioniert dieser workaround tatsächlich für iframe-apps zu?
Es funktioniert.
InformationsquelleAutor serg
Mit FB Javascript SDK, es kann getan werden, so etwas wie --
InformationsquelleAutor Rahul
Vielleicht hilft dies ja :
sorry. das funktioniert nur bei fbml-nicht für iframes.
InformationsquelleAutor w2lame