publi_actions n'est pas demandé dans le nouveau SDK
-
20-12-2019 - |
Question
Nous utilisons
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);
Dans l'activité de connexion :
@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);
}
});
}
Cependant, le jeton d'accès généré n'inclut pas l'autorisation publier_actions...qu'est-ce qui ne va pas ici ?
Merci!
La solution
Dans l'une des modifications récentes de cette bibliothèque, ajout d'une nouvelle option pour SimpleFacebookConfiguration
.On l'appelle setAskForAllPermissionsAtOnce
.Si la valeur est vraie, alors elle demande toutes les autorisations à la fois et vous aurez les autorisations PUBLIER dans le accessToken si l'utilisateur l'accepte lors de la connexion.
Si c'est faux, alors il se comporte différemment.Ce n'est que lorsque l'utilisateur effectue sa première action PUBLIER que la boîte de dialogue avec les autorisations s'affichera pour la première fois.La valeur par défaut est false puisque cela est conforme mieux à la politique de Facebook.Mais vous pouvez le changer.Vérifiez toutes les options ici : https://github.com/sromku/android-simple-facebook#configuration-options
Vous pouvez aussi utiliser SimpleFacebook.requestNewPermissions()
méthode pour demander à nouveau des autorisations ou une nouvelle au milieu du flux de votre application, lorsque vous décidez qu'il est bon de demander à l'utilisateur.
Autres conseils
Votre application doit être examinée par des personnes sur Facebook si vous en avez besoin publish_actions
autorisation.
L'examen n'est pas requis si vous avez seulement besoin public profile
, Email
, App friends
autorisation.
Et je suppose que générer AccessToken basé sur publish_actions
autorisation, votre application doit être examinée.
Voir le lien développeur Facebook,
https://developers.facebook.com/docs/facebook-login/permissions/v2.0