2013-03-31 5 views
5

Die Anmeldung funktioniert, aber es werden nur grundlegende Berechtigungen abgefragt und beim Abbrechen oder Beenden des Dialogs wird keine Warnung ausgelöst.FB.login() nicht nach bestimmten Berechtigungen fragen

window.fbAsyncInit = function() { 

    // init the FB JS SDK 
    FB.init({ 
     appId  : 'XXX', // App ID from the App Dashboard 
     channelUrl : 'XXX', // Channel File for x-domain communication 
     cookie  : true, // set sessions cookies to allow your server to access the session? 
     xfbml  : true, // parse XFBML tags on this page? 
     frictionlessRequests: true, 
     oauth: true 
    }); 

    FB.login(function(response) { 
     if (response.authResponse) { 
     alert("ok"); 
     } else { 
     alert("canceled"); 
     } 
    }, {scope:'publish_actions,publish_stream'}); 

    }; 

Antwort

9

Verwenden Sie den fb: login-button? Wenn ja, haben Sie versucht, die Berechtigungen dort in FB.login() hinzuzufügen? So wäre es etwa so aussehen:

<fb:login-button scope="publish_actions,publish_stream"></fb:login-button> 
+2

Diese Antwort sollte als die richtige Antwort markiert werden. Das hat mein Problem gelöst. Die Methode 'FB.Login' sendet nicht den Parameter' scope' bei Verwendung der 'fb: login-Taste'. Es scheint ein Fehler in der Facebook-Bibliothek zu sein. –

+1

Das hat sooooo lange gedauert! Hat das schon jemand bei Facebook als Bug gemeldet? Bei Verwendung von 'XFBML' wird' {scope: ''} 'vollständig ignoriert. –

0

Ich weiß nicht, ob Sie OG Aktionen verwenden, wenn nicht, dann sollten Sie dies über die publish_actions/publish_stream lesen: http://developers.facebook.com/blog/post/2012/04/25/streamlining-publish_stream-and-publish_actions-permissions/

Für Ihr Problem zu Warnungen, versuchen Sie das oauth var zu entfernen.

+0

Versuchte es, hat nicht funktioniert. 'FB.login (function (response) {}, {scope: 'publish_actions'});' funktioniert auch nicht .. – Chris

+0

Es funktioniert, wenn ich es direkt auf das onlick-Ereignis setze: 'onclick =" FB.login (function (Antwort) {}, {scope: 'publish_actions'}); " – Chris

+0

Ich sehe, es ist sowieso keine gute Idee, die FB.login() automatisch und auf jeder Seite zu feuern. Hier ist ein kleines Beispiel, das Ihnen helfen sollte: http://facebook.stackoverflow.com/a/15720747/2212966 –

2

Wichtig: Wenn Sie Ihre Facebook-Anwendung Öffentlichkeit ist dann senden Sie die Berechtigung, die Sie für einen Beitrag zu Facebook wollte, wenn Sie dies nicht getan haben. Überprüfen Sie Ihr Entwickler-Dashboard. Wenn Sie sich in der Entwicklung befinden, sollten Sie Ihre App nicht veröffentlichen und Nutzer über das Facebook-Dashboard zum Testen hinzufügen.

+0

Danke! Ich fange gerade erst an. Ich habe nicht verstanden, warum Abfragen mit zusätzlichen Berechtigungen über Graph API Explorer, aber nicht in meiner App funktionierten. Deine Antwort hat mich losgerissen. Macht jetzt vollkommen Sinn. –

Verwandte Themen