0

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

代码

    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,但我不想使用登录按钮。

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

请帮助我,我已经尝试了一个星期

4

1 回答 1

1

如果您使用 LoginButton,请使用:

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

如果您自己开始会话,请使用:

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

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

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

于 2013-07-30T12:36:00.900 回答