我正在与Sheetlabs合作,将Google表格转换为完整的API。除了Sheetlabs documentation之外,我在网上找不到有用的信息时遇到了麻烦,因为目前看来这是一项相当小的服务。
我正在Twilio的自定义函数中使用axios将信息发布到我们的Sheetlabs API。该API需要HTTP基本身份验证。
我在axios通话中尝试了各种变体,尝试遵循Sheetlabs SwaggerHub Documentation,但我的想法已经用完了。
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);
});
任何帮助将不胜感激。我会尽力为您提供所需的其他信息。
答案 0 :(得分:0)
默认情况下,AJAX以application/x-www-form-urlencoded
格式发送数据,但是Axios将其作为JSON发送。我之所以提到AJAX,是因为他们在example page中使用$.ajax
进行网络请求。
Axios在其Github here上提到了此默认设置,这是我在许多未发送接收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);
});
答案 1 :(得分:0)
我与Sheetlabs支持小组联系,目前他们不支持通过帖子将新记录添加到Google表格中。可能发誓我在他们的文档和API中看到了这种功能。谢谢您的回复。