Frage

Wir benutzen

Permission[] permissions = new Permission[] {
        Permission.PUBLIC_PROFILE,
        Permission.EMAIL,
        Permission.USER_FRIENDS,
        Permission.PUBLISH_ACTION
    };
SimpleFacebookConfiguration configuration = new SimpleFacebookConfiguration.Builder()
        .setAppId(getResources().getString(R.string.app_id))
        .setNamespace("ournamespace")
        .setPermissions(permissions)
        .build();

        SimpleFacebook.setConfiguration(configuration);   

In der Anmeldeaktivität:

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    mSimpleFacebook.onActivityResult(this, requestCode, resultCode, data); 
    super.onActivityResult(requestCode, resultCode, data);
}

@Override
public void onResume() {
    super.onResume();
    mSimpleFacebook = SimpleFacebook.getInstance(this);     
}
@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_login);

    ctx = this;

    ImageView fbBtn = (ImageView) findViewById(R.id.authButton);
    fbBtn.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            mSimpleFacebook.login(onLoginListener);
        }
    });
}   

Das generierte Zugriffstoken enthält jedoch nicht die Berechtigung „publish_actions“ ...was ist hier falsch?

Danke!

War es hilfreich?

Lösung

In einer der letzten Änderungen dieser Bibliothek wurde eine neue Option hinzugefügt SimpleFacebookConfiguration.Es wird genannt setAskForAllPermissionsAtOnce.Wenn der Wert wahr ist, werden alle Berechtigungen gleichzeitig abgefragt und Sie verfügen über die PUBLISH-Berechtigungen im accessToken, wenn der Benutzer sie bei der Anmeldung akzeptiert.

Wenn es falsch ist, verhält es sich anders.Nur wenn der Benutzer seine erste PUBLISH-Aktion ausführt, wird der Dialog mit den Berechtigungen zum ersten Mal angezeigt.Der Standardwert ist seitdem false entspricht Besser zu den Facebook-Richtlinien.Aber Sie können es ändern.Überprüfen Sie hier alle Optionen: https://github.com/sromku/android-simple-facebook#configuration-options

Sie können auch verwenden SimpleFacebook.requestNewPermissions() Methode, um mitten in Ihrem App-Ablauf erneut oder nach neuen Berechtigungen zu fragen, wenn Sie entscheiden, dass es sinnvoll ist, den Benutzer zu fragen.

Andere Tipps

Ihre App muss bei Bedarf von Facebook-Leuten überprüft werden publish_actions Erlaubnis.

Eine Überprüfung ist nicht erforderlich, wenn Sie nur Bedarf haben public profile, Email, App friends Erlaubnis.

Und ich denke, AccessToken basierend darauf zu generieren publish_actions Erlaubnis, Ihre App muss überprüft werden.

Siehe den Facebook-Entwicklerlink,

https://developers.facebook.com/docs/facebook-login/permissions/v2.0

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top