首页 文章

如何在Android上使用登录Facebook获取用户电子邮件

提问于
浏览
0

我使用此示例连接Android上的登录与Facebook(https://github.com/RajivManivannan/Android-Social-Login),当我在Android设备上运行时,示例给我用户电子邮件和其他信息 . 但在我的应用程序中,当我使用返回上面的示例时,它只返回用户名和ID .

{Response:  responseCode: 200, graphObject: {"name":"User Name","id":"123456789321654987"}, error: null}

这导入SDK:编译 'com.facebook.android:facebook-android-sdk:4.0.1'

我认为问题是我在Facebook配置的应用程序,但我无法弄明白 . 我的应用只返回 name and id .

该应用程序已在Facebook控制台批准的项目上:

email,public_profile和user_friends .

我测试了不同的电子邮件ID,但它给出了相同的结果 .

我如何收到电子邮件?

谢谢

2 回答

  • 1

    确保您在Facebook开发人员控制台的FB应用程序设置中列为开发人员 . 那里有正确的密钥哈希 . 此外,请确保您在我的请求中请求电子邮件权限 .

    除非Facebook已批准您的应用程序获得扩展电子邮件权限,否则除了您在Facebook Developer控制台中注册为管理员,开发人员或测试人员之外的任何人,您将无法访问某些数据,如电子邮件地址 .

  • 1

    您是否在请求时将权限中包含电子邮件?

    即:

    List<String> permissions = Arrays.asList("public_profile", "email", "user_friends");
    

    然后打电话:

    public void logInWithReadPermissions(Activity activity, Collection permissions)
    

    拥有你的权限 .

    这是Facebook的文档:https://developers.facebook.com/docs/reference/android/current/class/LoginManager/

相关问题