我的Android应用程序的Firebase数据库结构如下:

Users
  UserUID
    Data
  UserUID
    Data

由于某些用户使用电子邮件和密码进行身份验证,因此他们的uid格式为 9c16720b-f827-4216-b9f1-a3fa2c311633 .

其他通过Google验证的用户及其uid的格式为 google:106458782077325555555 .

我试图通过使用此代码查询数据:

private void setupFirebaseQuery() {
    String location = mFirebaseRef.child("users/" + mFirebaseRef.getAuth().getUid()).toString();
    Log.d("LOCATION", location);
    mQuery = new Firebase(location);
}

然后将此数据传递给扩展了FirebaseRecyclerAdapter的this implementation的自定义适配器:

private void setupRecyclerView() {
    mAdapter = new FirebaseDataListAdapter(mQuery, Data.class);
    mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
    mRecyclerView.setAdapter(mAdapter);
}

我知道适配器有效,因为数据被检索并显示正常 - 除了通过Google验证的用户 . 对于这些用户,不会检索或显示任何数据 .

我还试图在浏览器中访问已记录的网址,并成功检索相关用户的数据,即使是使用Google登录的用户也是如此 . 记录的url确实将uid中的 : 转换为 %3A ,但这似乎是预期的行为 .

有没有人知道为什么成功检索电子邮件/密码用户的数据而不是Google用户?