🌩️
Cloud Functions から FirebaseAuth の user情報を取得
JavaScriptの場合。admin.auth().getUser(userId)
を使う。以下はuser配下の投稿をルートにコピーするときに、displayName
とphotoURL
をドキュメントのフィールドに追加しているコード。
const functions = require("firebase-functions");
const admin = require('firebase-admin');
admin.initializeApp();
const db = admin.firestore();
exports.onUsersStoryCreate = functions.firestore
.document('/users/{userId}/stories/{storyId}')
.onCreate(async (snapshot, context) => {
await admin.auth().getUser(userId)
.then((userRecord) => {
story.displayName = userRecord.displayName;
story.photoURL = userRecord.photoURL;
return db.collection('stories').doc(storyId)
.set(story, { merge: true });
})
.catch((e) => console.log(e));
});
以下のような初期化やimport x as y
のような記述をしている記事もあり、違いがまだちょっとわかっていない。
const firestore = require("@google-cloud/firestore");
const client = new firestore.v1.FirestoreAdminClient();
参考
p.s
Zenn売却おめでとうございます!
Discussion