2017-10-11 3 views
0

J'utilise ce code ...Application non montré la boîte de dialogue pour la permission de publish_action de facebook?

je les logInWithPublishPermissions pour connexion ...

FacebookSdk.sdkInitialize(getApplicationContext()); 

    callbackManager = CallbackManager.Factory.create(); 

    shareDialog = new ShareDialog(this); 
    java.util.List<String> permissionNeeds = Arrays.asList("publish_actions"); 

    //this loginManager helps you eliminate adding a LoginButton to your UI 
// LoginManager = LoginManager.getInstance(); 

    LoginManager.getInstance().logInWithPublishPermissions(
      FacebookShareActivity.this, 
      Arrays.asList("publish_actions")); 

    LoginManager.getInstance().registerCallback(callbackManager, new FacebookCallback<LoginResult>() { 
     @Override 
     public void onSuccess(LoginResult loginResult) { 
      sharePhotoToFacebook(); 
     } 

     @Override 
     public void onCancel() { 
      System.out.println("onCancel"); 
     } 

     @Override 
     public void onError(FacebookException exception) { 
      System.out.println("onError"); 
     } 
    }); 

sharePhotoToFacebook

private void sharePhotoToFacebook(){ 


    SharePhoto photo = new SharePhoto.Builder() 
      .setBitmap(bitmap) 
      .setCaption("Caption") 
      .build(); 

    SharePhotoContent content = new SharePhotoContent.Builder() 
      .addPhoto(photo) 

      .build(); 
    ShareApi.share(content,shareCallback); 

// Toast.makeText(getApplicationContext(),"Snapshot shared On Facebook",Toast.LENGTH_SHORT).show(); 


      //shareDialog.registerCallback(callbackManager, FacebookCallback<Sharer.Result>(), REQUEST_CODE); 



} 

Mais je veux l'application demander la permission, il est ne pas afficher le dialogue de demander l'autorisation de publier.

+0

Vous essayez avec une application d'administration ou au moins une personne ayant un rôle dans l'application? Connaissez-vous l'avis de connexion? – luschn

+0

Oui @luschn monsieur, je l'utilise avec son propre compte (admin). mais il est directement sur le mur ne demande pas l'autorisation de publish_action directement après –

Répondre

0

Essayez cette façon pour se connecter facebook:

@Bind(R.id.login_button_fb) 
LoginButton login_button_fb; 
. 
. 
. 
. 
login_button_fb.setReadPermissions(Arrays.asList(
         "public_profile", "email", "user_birthday", "public_actions")); 
       login_button_fb.setFragment(LoginFragment.this); 
       login_button_fb.registerCallback(callbackManager, new FacebookCallback<LoginResult>() { 
        @Override 
        public void onSuccess(LoginResult loginResult) { 
         addToMainQueue(TCRequestGenerator.loginWithFacebook(loginResult.getAccessToken().getToken())); 
        } 

        @Override 
        public void onCancel() { 
         LoginManager.getInstance().logOut(); 
        } 

        @Override 
        public void onError(FacebookException error) { 
         showAlert(error.getMessage()); 
         LoginManager.getInstance().logOut(); 
        } 
       });