Search code examples
androidfacebookfacebook-android-sdk

How to get post permission publish_actions in facebook sdk 4+ with an perfect example


i am not able to get publish_actions permission of facebook sdk4+ i am facing problem and i found there is no proper example available. if any one has the solution do post here. i found that old version solution are shown by everyone but did not found solution for sdk4+ .

       LoginManager loginManager = LoginManager.getInstance();
        loginManager.logInWithPublishPermissions(this, permissionNeeds);
        Log.e("publish_action", "asking_for_permission");

        LoginManager.getInstance().registerCallback(callbackManager, new FacebookCallback<LoginResult>()
        {
            @Override
            public void onSuccess(LoginResult loginResult)
            {
                if (AccessToken.getCurrentAccessToken().getPermissions().contains("publish_actions"))
                {

                    Log.e("publish_action", "permission_activated");
                    Bitmap image = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher);
                    try {
                        Log.e("publish_action", "permission_activated_inside_try");
                        SharePhoto photo = new SharePhoto.Builder()
                                .setBitmap(image)
                                .setCaption("A post from Android code")
                                .build();

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


                        ShareApi.share(content, new FacebookCallback<Sharer.Result>() {
                            @Override
                            public void onSuccess(Sharer.Result result) {
                                Log.e("successfull", "photo_uploaded");
                            }

                            @Override
                            public void onCancel() {
                                Log.e("canceled", "photo_uploaded_cancled");
                            }

                            @Override
                            public void onError(FacebookException error) {
                                Log.e("error", "photo_upload_error");
                            }
                        });

                    } catch (Exception e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }

            }

            @Override
            public void onCancel() {
                System.out.println("onCancel");
                Log.e("publish_action", "cancel");
            }

            @Override
            public void onError(FacebookException exception) {
                Log.e("publish_action", "error = " + exception.getMessage());
                System.out.println("onError");
            }
        });

Solution

  • i found this link you must try this url this is a perfect demo for publish_actions permission to facebokk it was helpful for me.