1

Ich erstelle eine Android-App, in der Sie sich mit Facebook sowohl mit Lese- als auch mit Veröffentlichungsberechtigungen anmelden können. Ich implementierte es mit der LoginManager und es funktioniert gut genug. Das ist meine Methode, die in Facebook einloggt:Kann ich mich mit Facebook LoginManager mit Lese- und Veröffentlichungsrechten anmelden?

/** 
* Attempts to log the user into facebook and to get an access token. 
*/ 
private void facebookLogin() { 
    callbackManager = CallbackManager.Factory.create(); 

    LoginManager loginManager = LoginManager.getInstance(); 
    loginManager.registerCallback(callbackManager, new FacebookLoginCallback()); 
    loginManager.logInWithReadPermissions(this, Constants.FB_READ_PERMISSIONS); 
    loginManager.logInWithPublishPermissions(this, Constants.FB_PUBLISH_PERMISSIONS); 
} 

ich nach einer Weile bemerkte aber, dass dieser Code-Schnipsel zwei separaten Facebook-Logins auf dem jeweils anderen startet, wenn man die andere sind noch im Hintergrund abgeschlossen ist. Wenn ich mich nur mit Leseberechtigungen anmelde (oder nur mit Publish), muss ich mich nur einmal einloggen, was ich will.

Ich brauche jedoch beide Arten von Berechtigungen. Ich schaute durch die Facebook Android Login guide, wo sie behaupten, dass Sie das LoginButton verwenden sollten, da es die erforderlichen Berechtigungen speichern und dann alle in einem Login erhalten kann. Ist das mit dem LoginManager nicht möglich? Ich sah alle über das Internet und this ist der einzige Ort, der sagt, dass der Loginmanager anmeldet mit lesen oder veröffentlichen, aber die LoginButton kann beides tun.

Ist das alles wahr? Es ist keine große Aufgabe, die Anmeldung von LoginManager auf LoginButton zu ändern, aber ich wollte nur wissen, ob es keine Möglichkeit gibt, sich mit dem LoginManager gleichzeitig mit Lese- und Veröffentlichungsberechtigungen einzuloggen. t möglich.

Antwort

0

Ich löste es selbst.

ich völlig falsch verstanden, wie die Facebook Login gearbeitet, aber nachdem ich es endlich fixiert auf der Facebook api Lesen auf.

Wenn Sie sowohl lesen müssen und veröffentlichen Berechtigungen, die Sie für sie auf separaten occations fragen müssen. Wenn ich mich zum ersten Mal bei der App anmelde, frage ich (wie zuvor) nur nach Leseberechtigungen mit dem LoginManager. Nur wenn der Benutzer Inhalte auf Facebook veröffentlicht, überprüfe ich, ob der Benutzer Veröffentlichungsberechtigungen hat. Wenn nicht, starte ich einen neuen LoginManager und frage danach.

Da der Benutzer bereits in einmal angemeldet hat, muss der Benutzer einfach die Veröffentlichungsrechte genehmigen, so ist es kein Streit.

Verwandte Themen