Pregunta

Estamos usando

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);   

En la actividad de inicio de sesión:

@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);
        }
    });
}   

Sin embargo, el token de acceso que se genera no incluye el permiso de publicación_acciones...¿Que esta mal aquí?

¡Gracias!

¿Fue útil?

Solución

En uno de los cambios recientes de esta biblioteca, se agregó una nueva opción a SimpleFacebookConfiguration.Se llama setAskForAllPermissionsAtOnce.Si el valor es verdadero, entonces solicita todos los permisos a la vez y tendrá los permisos de PUBLICACIÓN en el token de acceso si el usuario lo acepta al iniciar sesión.

Si es falso entonces se comporta de manera diferente.Solo cuando el usuario realice su primera acción PUBLICAR, solo entonces se mostrará por primera vez el diálogo con permisos.El valor predeterminado es falso ya que esto cumple mejor a la política de Facebook.Pero puedes cambiarlo.Consulta todas las opciones aquí: https://github.com/sromku/android-simple-facebook#configuration-options

También puedes usar SimpleFacebook.requestNewPermissions() Método para solicitar permisos nuevamente o uno nuevo en medio del flujo de su aplicación, cuando decida que es bueno pedírselo al usuario.

Otros consejos

Su aplicación debe ser revisada por personas de FaceBook si es necesario publish_actions permiso.

No se requiere revisión si solo necesita public profile, Email, App friends permiso.

Y supongo que para generar AccessToken basado en publish_actions permiso, su aplicación necesita ser revisada.

Vea el enlace del desarrollador de Facebook,

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top