Публикация в API Sheetlabs с помощью Axios - PullRequest
0 голосов
/ 05 января 2019

Я работаю с Sheetlabs , чтобы превратить Google Sheet в полноценный API. У меня возникают проблемы с поиском полезной информации в Интернете, кроме документации Sheetlabs , потому что на данный момент это довольно маленькая услуга.

Я использую axios в пользовательской функции Twilio для публикации информации в нашем API Sheetlabs. Для API требуется базовая аутентификация HTTP.

Я пробовал все виды вариаций в своем вызове axios, пытаясь следовать документации Sheetlabs SwaggerHub , но у меня заканчиваются идеи.

const url = 'https://sheetlabs.com/records/{organization}/{dbName}';

const postData = {
  trackingid: `${trackingUrl}`,
  phonenumber: `${userPhoneNumber}`
}

const authParams = {
  username: //sheetlabs email,
  password: //access token
}

// axios function
axios.post(url, postData, {auth: authParams}).then(response => {
  console.log('response: ', response);
}).catch(err => {
  console.log('axios sheetlabs post error catch: ', err);
});

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

Ответы [ 2 ]

0 голосов
/ 06 января 2019

Я обратился в службу поддержки Sheetlabs, и в настоящее время они не поддерживают добавление новых записей в Google Sheet с помощью сообщений. Мог бы поклясться, что я видел эту возможность в их документации и API, хотя. Спасибо за ваши ответы.

0 голосов
/ 05 января 2019

AJAX по умолчанию отправляет данные в формате application/x-www-form-urlencoded, но Axios отправляет их как JSON. Я упоминаю AJAX, потому что на странице примера они используют $.ajax для выполнения сетевого запроса.

Axios упоминает это значение по умолчанию на своем Github здесь , и это то, с чем я столкнулся на многих серверах, которые не были отправлены для получения JSON. Возможно, стоит попробовать сделать npm install qs и посмотреть, поможет ли это вам:

const qs = require('qs');
axios.post(url, qs.stringify(postData), {auth: authParams}).then(response => {
  console.log('response: ', response);
}).catch(err => {
  console.log('axios sheetlabs post error catch: ', err);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...