Twilio не отправляет SMS внутри облачной функции Firebase - PullRequest
2 голосов
/ 07 января 2020

Я пытаюсь отправить смс, используя twilio api для node.js через облачную функцию firebase, но смс не отправляется. однако, если тот же код, который я запускаю как независимый код сценария java, работает нормально. Может кто-нибудь помочь, почему это не происходит внутри облачной функции firebase. код прикреплен ниже:

const functions = require('firebase-functions');

const admin = require('firebase-admin');
admin.initializeApp();
exports.sendNotfication = functions.database.ref('/kakuh/{pushId}/firstName')
    .onCreate((snapshot, context) => {
      const original = snapshot.val();
      const accountSid = 'ACb6b4820df073e63312382f95b0314d07';
      const authTcoken = 'c60923ca097368662b39dfab470f2fd1';
      const client = require('twilio')(accountSid, authToken);
      client.messages
      .create({
          from: '+16304263296',
          body: original,
          to: '+918169813384'
        });

      console.log('Uppercasing', context.params.pushId, original);
      const uppercase = original.toUpperCase();
      return snapshot.ref.parent.child('firstName').set(uppercase);
    });

1 Ответ

1 голос
/ 07 января 2020

Вам нужно будет дождаться ответа Twilio, then return на Firebase.

Попробуйте:

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

exports.sendNotfication = functions.database.ref('/kakuh/{pushId}/firstName')
    .onCreate((snapshot, context) => {

        const original = snapshot.val();
        const accountSid = 'ACb6b4820df073e63312382f95b0314d07';
        const authToken = 'c60923ca097368662b39dfab470f2fd1';
        const client = require('twilio')(accountSid, authToken);

        client.messages
            .create({
                from: '+16304263296',
                body: original,
                to: '+918169813384'
            })
            .then((message) => {
                console.log(message.sid);
                console.log('Uppercasing', context.params.pushId, original);
                const uppercase = original.toUpperCase();
                return snapshot.ref.parent.child('firstName').set(uppercase);
            })
            .catch((err) => {
                throw (err);
            });

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