How to give Facebook permission for accessing user data in facebook-sdk-3.0

白昼怎懂夜的黑 提交于 2019-12-04 18:15:46

Calling Session.openActiveSession will only give you basic permissions (until you've requested additional ones). You also need to separate the read and publish permission requests.

In your case, I would do something like:

Session session = // create a new Session using Session.Builder
Session.OpenRequest openRequest = // create an OpenRequest using Session.OpenRequest
openRequest.setPermissions( READ_PERMISSION_LIST );
session.openForRead(openRequest);
Session.setActiveSession(session);

Then, once you've opened the session,

// check if you already have publish permissions first
if (!Session.getActiveSession.getPermissions.contains("publish_stream")) {
  Session.NewPermissionsRequest permissionRequest = // create a NewPermissionsRequest
  permissionRequest.setPermissions( PUBLISH_PERMISSION_LIST);
  Session.getActiveSession().requestNewPublishPermissions(permissionRequest);
}

i think this is how you authorize a certain kind of functionality in the String[]

 fb.authorize(MainActivity.this,new String[] {"publish_stream"}, new DialogListener(){

            @Override
            public void onFacebookError(FacebookError e)
            {
                Toast.makeText(MainActivity.this, "on Facebook error", Toast.LENGTH_SHORT).show();
            }
            @Override
            public void onError(DialogError e)
            {
                Toast.makeText(MainActivity.this, "on error", Toast.LENGTH_SHORT).show();
            }
            @Override
            public void onComplete(Bundle values)
            {
                updateButtonImage();

            }
            @Override
            public void onCancel()
            {

            }
        });
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!