Facebook android并没有给我发电子邮件

时间:2015-01-27 10:17:06

标签: android facebook email sdk

我已经通过点击按钮调用了这段代码(工作于2014年11月):

Session.openActiveSession(this, true, new Session.StatusCallback() {
        @Override
        public void call(Session session, SessionState state, Exception exception) {
            if (session.isOpened()) {
                Request.newMeRequest(session, new Request.GraphUserCallback() {
                    @Override
                    public void onCompleted(final GraphUser user, final Response response) {
                        if (user != null) {
                            System.out.println(user);
                            preference.edit().putString("fb_nome",user.getName()).commit();
                            preference.edit().putString("fb_id",user.getId()).commit();
                            preference.edit().putString("fb_email",user.asMap().get("email")+"").commit();
                            if(user.getLocation()!=null) {
                                preference.edit().putString("fb_citta", user.getLocation().asMap().get("name") + "").commit();
                            }
                            Session session = Session.getActiveSession();
                            preference.edit().putString("fb_token",session.getAccessToken()).commit();
                            new loginFacebook().execute();
                        }
                    }
                }).executeAsync();

            }
        }
    });

最新的sdk等等。

问题是facebook不再给我发电子邮件和城市了!

我确定它在11/2014工作,但现在没有。

电子邮件是空的,也是城市......

有人可以帮帮我吗? 感谢

2 个答案:

答案 0 :(得分:0)

您是否设置了适当的权限?

facebookLoginButton.setReadPermissions(Arrays.asList("public_profile", "email"));

加上获取用户电子邮件的方式是:

String email = (String) user.getProperty("email")

希望这会有所帮助,可以在我的所有应用中按预期工作。

答案 1 :(得分:0)

解决了这个(绿色V)问题:how to get email id from facebook sdk in android applications?

基本上是:

List<String> permissions = new ArrayList<String>();
    permissions.add("email");
    Session.openActiveSession(this, true,permissions, new Session.StatusCallback() {