2012-10-29 40 views
1

我已经整合Facebook登录到我的应用程序,但我不能找到如何获取用户的电子邮件地址的任何好消息。电子邮件真的是我唯一需要的东西。我能够获得其他基本信息。我的活动扩展了FaceBookActivity。当用户点击登录到我的应用程序,我呼吁:Android的facebook集成根据教程获取电子邮件

this.openSession(); 

然后,我有:

@Override 
    protected void onSessionStateChange(SessionState state, Exception exception) 
    { 
      // user has either logged in or not ... 
      if (state.isOpened()) 
      { 
       // make request to the /me API 
       Request request = Request.newMeRequest(
        this.getSession(), 
        new Request.GraphUserCallback() 
        { 
         // callback after Graph API response with user object 
         @Override 
         public void onCompleted(GraphUser user, Response response) 
         { 
          if (user != null) 
          { 
          TextView welcome = (TextView) findViewById(R.id.welcome); 
          welcome.setText("Hello " + user.getName() + "!"); 
          Log.d("user fname",user.getFirstName()); 
          Log.d("user lname",user.getLastName()); 
          Log.d("user username",user.getUsername()); 
          Log.d("user email",(String)user.getProperty("email")); 

         } 
        } 
       } 
      ); 

       Request.executeBatchAsync(request); 
      } 
    } 

GraphUser不公开的电子邮件。有任何想法吗?

我已经在我的Facebook开发面板中设置的“电子邮件”的权限。

+1

你请求在你的验证码“电子邮件”的权限? – Igy

+0

我没有验证码。所有的代码都是你在上面看到的,这对于基本信息起作用。 – boostedz06

+1

是的,并且电子邮件地址不是基本信息的一部分 - 您需要用户授予'email'权限 – Igy

回答

2

好吧,我想通了这一点。该GraphUser对象将包含电子邮件地址,但我发现,接近登录从基础教程完全不同的教程。

以下是基本教程: https://developers.facebook.com/docs/getting-started/facebook-sdk-for-android/3.0/

,这里是你必须除了基本教程落实教程得到这个工作: https://developers.facebook.com/docs/howtos/androidsdk/3.0/login-with-facebook/#step3

,你所要做的就是实现第一次登录的样品,然后去改变它的第2个样品,然后用第一个样品的部分在您的最终产品。如果您仔细阅读每篇教程,从我发布的第一篇教程开始,您将学习如何通过实施其他权限请求来捕获用户需要的任何数据。

希望这可以帮助别人。所有的我搜索的问题,“SO”是指旧的API与过时的方法。

0

更多权限,您可以更改功能.openSession()来.openSessionForRead(字符串APPID,列表< String>的权限),如果你有APP_ID上

6

的strings.xml运行.openSessionForRead(空,列表权限)新的Facebook SDK 3.0

String email = (String) response.getGraphObject().getProperty("email"); 
相关问题