如何让Facebook的权限在Facebook的SDK-3.0访问用户数据 [英] How to give Facebook permission for accessing user data in facebook-sdk-3.0

查看:125
本文介绍了如何让Facebook的权限在Facebook的SDK-3.0访问用户数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在开发中,我使用的Facebook 登录来进行验证和内容的应用程序。 的Facebook SDK 3.0 需要访问如个人资料图片,EMAILID,publish_stram等如何给在code权限访问这些东西的用户数据的一些权限。直到现在,我能够获得 fb_access_token 。这是我的code:

I'm developing an application in which I'm using Facebook login for authentication and stuff. facebook sdk 3.0 needs some permission for accessing user data such as profile picture, emailID,publish_stram and etc. How to give permission in the code for accessing those things. Till now I'm able to get fb_access_token. Here is my code:

Session.openActiveSession(this, true, new Session.StatusCallback() {

            // callback when session changes state
            @Override
            public void call(Session session, SessionState state,
                    Exception exception) {
                if (session.isOpened()) {
                    // make request to the /me API
                    Request.executeMeRequestAsync(session,
                            new Request.GraphUserCallback() {

                                // callback after Graph API response with
                                // user
                                // object
                                @Override
                                public void onCompleted(GraphUser user,
                                        Response response) {
                                    if (user != null) {
                                        fb_user_id = user.getId();
                                    }

                                    Session session = Session
                                            .getActiveSession();
                                    if (session.isOpened()) {
                                        access_token = session
                                                .getAccessToken();
                                    }

                                    new postFBData().execute();
                                }
                            });
                }
            }
        });

摘自Facebook的样品本code段。如何从FB访问 access_token 之前授予权限?

任何帮助将AP preciated。

Any help will be appreciated.

推荐答案

调用Session.openActiveSession只会给你基本的权限(除非你已经要求额外的)。您还需要分开读取和发布权限请求。

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

这篇关于如何让Facebook的权限在Facebook的SDK-3.0访问用户数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆