Firebase函数app_remove,获取用户ID

时间:2017-07-17 13:23:24

标签: javascript firebase firebase-authentication google-cloud-functions firebase-analytics

我正在尝试在用户删除我的应用时在我的firebase数据库中创建一个新条目(带有userid)。 (Qndroid)

'use strict';
const admin = require('firebase-admin');
const functions = require('firebase-functions');
admin.initializeApp(functions.config().firebase);

exports.appremoved = functions.analytics.event('app_remove').onLog(event => {
  console.log("App remove detected");

  var user = admin.auth().currentUser;
  var uid;

  const uid2 = event.data.user.userId;
  console.log("App remove detected2:" + uid2);

  if (user != null) {
    uid = user.uid;
    console.log("User object not empty" );
    admin.database().ref('/user_events/'+uid + "/"+Date.now()).set("app_remove");
  }
});

我创建了两个变量来获取用户ID,但两者都未定义。

uid2未定义,用户为空。

我也试过

const user = event.data.user;

但它也是空的

如何获取删除该应用的用户的用户ID?

1 个答案:

答案 0 :(得分:2)

调用admin.auth().currentUser可以获得运行admin SDK的管理用户。该用户没有UID。即使他们这样做了,也不会是用户删除该应用程序。

致电event.data.user.userId会为您提供应用可能通过setUserId API设置的用户ID。如果您没有设置UserId,则该调用不会给您任何值。