android如何向facebook添加权限

时间:2013-07-30 12:22:48

标签: android facebook android-facebook facebook-sdk-3.0

我想添加从facebook android sdk读取email的权限。

    Session.openActiveSession(this, true, new Session.StatusCallback() {
        @Override
        public void call(Session session, SessionState state,
                Exception exception) {
            // TODO Auto-generated method stub
            if (session.isOpened()) {
                // make request to the /me API
                Request.executeMeRequestAsync(session,
                        new Request.GraphUserCallback() {

                            @Override
                            public void onCompleted(GraphUser user,
                                    Response response) {
                                if (user != null) {
                                    et_firstName.setText(user
                                            .getFirstName());
                                    et_lastName.setText(user
                                            .getLastName());
                                    Log.e("data",
                                            user.asMap().get("email")
                                                    + "");
                                    URL image_value;
                                    try {
                                        image_value = new URL(
                                                "http://graph.facebook.com/"
                                                        + user.getId()
                                                        + "/picture");
                                        iv_profileImage
                                                .setImageBitmap(BitmapFactory
                                                        .decodeStream(image_value
                                                                .openConnection()
                                                                .getInputStream()));
                                    } catch (MalformedURLException e) {
                                        e.printStackTrace();
                                    } catch (IOException e) {
                                        e.printStackTrace();
                                    }
                                } else {

                                }
                            }
                        });
            }
        }
    });

我尝试了什么

我读了很多,可以使用loginbutton来完成,但我不想使用loginbutton。

我也读到如果我不想使用logingbutton,我必须使用openfor会话,但我不知道如何使用

请帮助我,我已经尝试了一周

1 个答案:

答案 0 :(得分:1)

如果您使用LoginButton,请使用:

loginButton.setReadPermissions(Arrays.asList("email"));

如果您自己启动会话,请使用:

session.openForRead(new Session.OpenRequest(this).setPermissions(Arrays.asList("email")));

请求/权限有用链接:https://developers.facebook.com/tools/explorer/

成功登录后,再次尝试请求,包括电子邮件字段。