5

Im Facebook Android SDK erstellen, wenn ichFacebook Android SDK Session openForPublish keine neue Sitzung

Session tempSession = new Builder(this).build(); 
Session.setActiveSession(tempSession); 
tempSession.openForRead(new OpenRequest(this).setPermissions(FB_PERMISSIONS)); 

nennen Es wird eine FB-Sitzung und alles läuft normal weiter. Aber wenn ich Read durch Publish ersetze. done follows

Session tempSession = new Builder(this).build(); 
Session.setActiveSession(tempSession); 
tempSession.openForPublish(new OpenRequest(this).setPermissions(FB_PERMISSIONS)); 

Es gibt einen Fehler, der besagt, dass die Sitzung leer ist und keine Veröffentlichungsberechtigungen für eine leere Sitzung erhalten kann.

Können Sie bitte sagen, warum ist es so und was wäre der beste Weg, damit umzugehen?

Antwort

4

Die kurze Antwort ist, rufen Sie nicht openForPublish. Rufen Sie openForRead auf und fordern Sie später NewPublishPermissions an, wenn Sie Berechtigungen veröffentlichen müssen. Die lange Antwort lautet: Sie können keine Veröffentlichungsberechtigungen (für einen Benutzer, der noch nie mit Facebook über Ihre App verbunden war) anfordern, es sei denn, Sie haben bereits grundlegende oder Standardberechtigungen (was Sie erhalten würden, wenn Sie openForRead mit einem aufrufen.) leere Erlaubnis gesetzt). OpenForPublish behandelt also einen sehr spezifischen Nischen-Anwendungsfall, den die meisten Apps wahrscheinlich nicht haben.

+9

Hmm, ziemlich schlecht FB SDK-Design. – rahulg

+0

Ich habe das gleiche Problem, was ich tun muss ist, meine Facebook-Anwendung zu erlauben, Daten auf der Benutzerwand zu teilen, jedes Mal öffne ich Sitzung für das Veröffentlichen, liest es nicht Benutzer-Token von der installierten Anwendung und bittet mich, meine einzutragen Anmeldeinformationen, so hast du etwas gefunden, das mir helfen könnte –

7

Es hat eine Weile gedauert, bis ein Benutzer auf eine Schaltfläche klicken konnte, um eines meiner Produkte auf Facebook in einem Feed zu teilen. Ich wollte nicht, dass sie dazu aufgefordert wurden, sich anzumelden, bis sie wirklich teilen wollten, also wollte ich wirklich nur eine Veröffentlichungsgenehmigung. Im Folgenden wird die anfängliche Anmelde-/Leseberechtigungsanforderung mit der Veröffentlichungsberechtigungsanforderung gestapelt. Dies wird die Benutzer doppelt auffordern, zunächst zum Lesen, dann zum Veröffentlichen, aber das ist jetzt unabhängig von der Lösung erforderlich:

Verwandte Themen