2017-10-25 17 views
0

firebaseを使用してAndroidチャットアプリケーションを作成しています。これまで私は一般的なグループチャットアプリを作った。今私はそれをユーザーリストを持つ個々のチャットアプリにしたいと私たちは彼/彼女と個別にチャットすることができますそのリストから人を選択します。しかし、私はFirebaseからこのユーザリストを取得できません。私はFirebase Auth UIにGoogle Sign inとEmail sign inオプションを保持しています。何か助けていただければ幸いですFirebase Authを使用して登録したユーザのリストを取得する

+0

私は2つの方法があると思います。最初の方法は、データベースのユーザーのUIDを保存し、そのUIDを使用してリストをレンダリングすることです。このようにして、ユーザーがUIDをクリックしたときのUIDを知ることができます。別の方法は、ユーザー名、表示名、または任意の属性を使用してUIDを取得することです。ただし、サーバーの認証を使用する必要があります。 APIを使用してノードサーバーを設定し、ユーザー情報を取得する必要があります(サーバーの機密情報を削除することを忘れないでください)。 – Jason

答えて

0

Firebase認証から認証されたすべてのユーザーのデータを取得することはできませんが、現在のユーザーしか取得できません。
登録されたユーザーのデータを取得するには、データベースに格納してから配列全体を取得する必要があります。あるいは、ユーザーが全ユーザーに登録されている場合に設定またはリセットできる認証フラグを保持するだけですテーブルとその逆。

@Jasonで述べたように、listAllUsers()がユーザーデータのバッチを取得できるドキュメントで説明したように、Admin SDKを試すことができます。
以前@Samで指摘したように、詳細な説明はIN THIS THREAD.

+0

admin SDKを使用すると、 https://firebase.google.com/docs/auth/admin/manage-usersをご覧ください。 – Jason

0

を見つけることができます、あなたはFirebase DBから詳細を取得することができます。だから、ユーザーがサインアップするたびにFirebaseUserの詳細(必要に応じて彼の他の詳細を保存するUID)をDBに追加してください。次に、次のアクティビティでデータベースにリスナーを置くだけで、登録されているすべてのユーザーのリストを取得できます。

0

あなたがuidemailまたはphoneNumberでユーザーを検索する必要がある場合は、あなたがそうするように管理SDKを使用することができます。

https://firebase.google.com/docs/auth/admin/manage-users

あなたはまたしても、すべてのユーザーをダウンロードする機能を持っています。 https://firebase.google.com/docs/auth/admin/manage-users#list_all_users

Node.jsバックエンドサーバーから、またはFirebase機能を使用してHTTPエンドポイント経由で行う必要があります。

はまた管理SDKを使用すると、異なるユーザーグループを作成したい場合に役立つことができ、カスタムユーザー属性を設定することができます:

https://firebase.google.com/docs/auth/admin/custom-claims

admin.auth().setCustomUserClaims(uid, {groupId: '1234'})

関連する問題