我正在尝试从Firebase AuthUI的Facebook提供商处获取所请求的信息。
我没有找到任何获取此数据的方法。当我调试该步骤时,我可以在属性“zzdd”中看到请求的信息为JSON之类的。
如何获取此数据?
向用户请求生日和性别信息:
new AuthUI.IdpConfig.FacebookBuilder() .setPermissions( Arrays.asList( "user_birthday", "user_gender" ) ) .build() );
从提供商
获取数据mUser = FirebaseAuth.getInstance().getCurrentUser(); for( UserInfo user : mUser.getProviderData() ) { }
Debbuger - user - zzdd属性
{的 “生日”: “1995年8月5日”下, “updated_time”: “2018-05-04T21:28:53 + 0000”,的 “性别”:“雄“下,...}
Firebase AuthUI版本:3.3.1
答案 0 :(得分:0)
我找到了解决方案。
要通过Firebase Auth获取更多信息,您必须通过SDK提供商获取,例如Facebook下面的代码:
使用Firebase AuthUI从登录成功获取Facebook SDK中的数据:
GraphRequest request = GraphRequest.newMeRequest( AccessToken.getCurrentAccessToken(), new GraphRequest.GraphJSONObjectCallback() { @Override public void onCompleted( JSONObject jsonObject, GraphResponse response ) { // Application code try { String birthday = jsonObject.getString( "birthday" ); String gender = jsonObject.getString( "gender" ); } catch( JSONException e ) { e.printStackTrace(); } } } ); Bundle parameters = new Bundle(); parameters.putString( "fields", "birthday,gender" ); request.setParameters( parameters ); request.executeAsync();