Передать переменные параметры в качестве аргументов методу POST модуля запроса узла для облачных функций Firebase - PullRequest
0 голосов
/ 04 мая 2018

Я новичок в облачных функциях Firebase. Написал функцию с использованием метода POST модуля запроса узла, который передает некоторые значения в качестве аргументов серверу. Код прекрасно работает со статическими значениями в аргументах, но не получает ответа для динамических значений в аргументах. Функция выполняется, но не возвращает ответ от сервера.

const functions = require('firebase-functions');
const admin = require('firebase-admin');
var request = require('request');

exports.sendWelcomeEmail = functions.auth.user().onCreate((user) => {
const email = user.email;
const uid = user.uid;
return sendWelcomeEmail(email,uid);
});

function sendWelcomeEmail(email,uid){

var dataString =  'excessToken'=uid&'name'==='assadas'&'emailId'=email ;           

var options = {
    url: 'http://ip:port/someapi',
    method: 'POST',
    body : dataString

};



  function callback(error, response, body) {
    if (!error && response.statusCode === 200) {
      console.log(body);
    }
  }

  request(options, callback);

}

избыточный токен = uid и emailId = электронная почта - это переменные аргументы, которые необходимо публиковать на сервере.

1 Ответ

0 голосов
/ 04 мая 2018

Ваша строка данных выглядит так, как будто она не очень хорошо составлена. Вы смешиваете множество операций JavaScript и подстрок. Писать будет проще, если вы используете композицию строк с обратным тэгом, которая позволяет интерполировать переменные:

var dataString = `excessToken=${uid}&name=assadas&emailId=${email}`;           

Это также поможет при отладке, если вы используете console.log () для записи значений, которые вы хотели бы знать, какими они являются во время выполнения. Это поможет вам быстрее диагностировать проблемы.

В долгосрочной перспективе вы также должны избегать значений, которые вы вставляете в строку, подобную этой. Вы не можете просто иметь старые символы в теле сообщения, которое отформатировано как строка запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...