publish_actions não for solicitada no novo SDK
-
20-12-2019 - |
Pergunta
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);
Na sessão de início de actividade:
@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);
}
});
}
No entanto, o access token que é gerado não inclui o publish_actions permissão...o que está errado aqui?
Obrigado!
Solução
Em uma das recentes alterações a esta biblioteca, adicionada nova opção para SimpleFacebookConfiguration
.Ele é chamado de setAskForAllPermissionsAtOnce
.Se o valor for true, em seguida, ele pede para todas as permissões de uma vez e você terá a PUBLICAR permissões no accessToken se o usuário aceitar, ele sessão.
Se isso é falso, então ela se comporta de uma maneira diferente.Apenas quando o usuário faz sua primeira PUBLICAR ação, só então, o diálogo com as permissões serão mostrados pela primeira vez.O valor padrão é falso pois este está em conformidade melhor para Facebook de política.Mas você pode alterá-lo.Verifique todas as opções aqui: https://github.com/sromku/android-simple-facebook#configuration-options
Você também pode usar SimpleFacebook.requestNewPermissions()
método para pedir permissões de novo ou de novo no meio do seu aplicativo de fluxo, quando você decidir que é bom perguntar de usuário.
Outras dicas
Você app precisam ser revisados pelo FaceBook as pessoas, se você precisa publish_actions
permissão.
A revisão não é necessário se você só precisa de public profile
, Email
, App friends
permissão.
E eu acho que para gerar AccessToken com base no publish_actions
a permissão, o aplicativo precisa ser revisto.
Veja o facebook developer link,
https://developers.facebook.com/docs/facebook-login/permissions/v2.0