Функция Firebase: не может прочитать свойство 'userId' из неопределенного - PullRequest
0 голосов
/ 22 апреля 2020

я пытаюсь отправить письмо через sendgrid через. курок пожарного магазина. Я просто не могу вывести userId из моего контекста. Какие-либо предложения? Ссылка на изображение для сообщения об ошибке

exports.firestoreEmail = functions.firestore
  .document('users/{userId}')
  .onCreate((context) => {
    const userId = context.params.userId;
    const db = admin.firestore();

    return db
      .collection("users")
      .doc(userId)
      .get()
      .then((doc) => {
        const user = doc.data();
        const msg = {
          to: user.email,
          from: "<myEmail>",
          subject: "New Follower",

          // custom templates
          templateId: "d-1584af76f10d475d8cc99d28e5501cf9",
          substitutionWrappers: ["{{", "}}"],
           substitutions :{
               name: user.displayName
           }
        };
        return sgMail.send(msg);
      })
      .then(() => console.log("email sent!"))
      .catch((err) => console.log(err));
  });

1 Ответ

2 голосов
/ 22 апреля 2020

context должен быть вторым параметром вашей функции. Неважно, что вы назвали это «контекстом» - позиция имеет значение полностью. Первый аргумент - это DocumentSnapshot нового документа, поэтому вам нужно будет дать ему имя в качестве первого параметра, даже если вы его не используете:

exports.firestoreEmail = functions.firestore
  .document('users/{userId}')
  .onCreate((snapshot, context) => {
    const userId = context.params.userId;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...