Аутентификация Twilio на AWS Lambda с помощью Node.js - PullRequest
0 голосов
/ 03 сентября 2018

Я хочу пройти проверку подлинности с помощью API Twilio, используя https-модуль Node.js. Мой код по существу:

const options = {
    host: 'api.twilio.com',
    path: '/2010-04-01/Accounts/' + TWILIO_ACCOUNT + '/Messages.json',
    auth: {
        user: TWILIO_ACCOUNT,
        pass: TWILIO_API_KEY
    }
};

const req = https.get(options, (res) => { ...

Я получаю ошибку TypeError: First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object. Если я уберу аргумент auth в опциях:

const options = {
    host: 'api.twilio.com',
    path: '/2010-04-01/Accounts/' + TWILIO_ACCOUNT + '/Messages.json'
};

const req = https.get(options, (res) => { ...

я получаю ошибку Authentication Error - No credentials provided. Это заставляет меня поверить, что я неправильно прошёл аутентификацию в настройках.

(Используя request-promise, этот метод прохождения аутентификации работает; я пытался проверить, смогу ли я заставить его работать, используя встроенный модуль Node.js)

1 Ответ

0 голосов
/ 04 сентября 2018

Разработчик Twilio здесь.

Свойство auth в объекте options требует, чтобы его значение было string (см. параметры, которые можно использовать здесь ).

Итак, чтобы исправить ваш options объект, вам нужно объединить SID и токен учетной записи с двоеточием, например:

const options = {
  host: 'api.twilio.com',
  path: '/2010-04-01/Accounts/' + TWILIO_ACCOUNT + '/Messages.json',
  auth: `${TWILIO_ACCOUNT}:${TWILIO_API_KEY}`
}

Дайте мне знать, если это поможет.

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