Post 方法通过 Airtable API 使用 Google 脚本
Post method via Airtable API using a Google Script
我在 Google 脚本中有以下代码:
var data = {
"records": [
{
"fields": {
"Contract Address": "test",
"0x8df3aad3a84da6b69a4da8aec3ea40d9091b2ac4": "1234"
}
}
]
};
var options = {
"method" : "post",
'Content-Type': 'application/json',
'muteHttpExceptions' : true,
// "payload" : data,
"payload" : JSON.stringify(data)
};
function tryAPost(){
var url = "https://api.airtable.com/v0/xxxxxxxxxxxxx/Balance%20Tracking?api_key=keyxxxxxxxxxx";
var response = UrlFetchApp.fetch(url, options);
//console.log(response.getContentText());
console.log(response.getResponseCode());
};
我收到以下回复:
422
并且数据最终不会出现在 Airtable 中。
有效负载在 Postman 中的 post 请求正文中工作。
我做错了什么?
根据评论编辑:
这是来自 airtable 的示例代码:
var Airtable = require('airtable');
var base = new Airtable({apiKey: 'YOUR_API_KEY'}).base('xxxxxxxxxxxx');
base('Balance Tracking').create([
{
"fields": {
"Contract Address": "Thu, 03 Feb 2022 15:12:37 GMT",
"0xfecf784f48125ccb7d8855cdda7c5ed6b5024cb3": 12055358359168
为每个评论添加 postman 截图:
我在 Airtable 论坛上提问,有人提出了一个有效的解决方案。
这是link。
答案如下:
//
// post to Airtable (universal)
//
function atPostTable_(baseKey, tableName, payload)
{
var options =
{
method: 'POST',
headers: {
'Authorization' : 'Bearer ' + cMyAirtableAPIKey,
'Content-Type' : 'application/json'
},
payload : JSON.stringify(payload),
muteHttpExceptions : true,
followRedirects: true
};
var response = UrlFetchApp.fetch(cAirtableAPIEndpoint + baseKey + "/" + encodeURIComponent(tableName), options).getContentText();
return(response);
}
我在 Google 脚本中有以下代码:
var data = {
"records": [
{
"fields": {
"Contract Address": "test",
"0x8df3aad3a84da6b69a4da8aec3ea40d9091b2ac4": "1234"
}
}
]
};
var options = {
"method" : "post",
'Content-Type': 'application/json',
'muteHttpExceptions' : true,
// "payload" : data,
"payload" : JSON.stringify(data)
};
function tryAPost(){
var url = "https://api.airtable.com/v0/xxxxxxxxxxxxx/Balance%20Tracking?api_key=keyxxxxxxxxxx";
var response = UrlFetchApp.fetch(url, options);
//console.log(response.getContentText());
console.log(response.getResponseCode());
};
我收到以下回复:
422
并且数据最终不会出现在 Airtable 中。
有效负载在 Postman 中的 post 请求正文中工作。
我做错了什么?
根据评论编辑:
这是来自 airtable 的示例代码:
var Airtable = require('airtable');
var base = new Airtable({apiKey: 'YOUR_API_KEY'}).base('xxxxxxxxxxxx');
base('Balance Tracking').create([
{
"fields": {
"Contract Address": "Thu, 03 Feb 2022 15:12:37 GMT",
"0xfecf784f48125ccb7d8855cdda7c5ed6b5024cb3": 12055358359168
为每个评论添加 postman 截图:
我在 Airtable 论坛上提问,有人提出了一个有效的解决方案。
这是link。
答案如下:
//
// post to Airtable (universal)
//
function atPostTable_(baseKey, tableName, payload)
{
var options =
{
method: 'POST',
headers: {
'Authorization' : 'Bearer ' + cMyAirtableAPIKey,
'Content-Type' : 'application/json'
},
payload : JSON.stringify(payload),
muteHttpExceptions : true,
followRedirects: true
};
var response = UrlFetchApp.fetch(cAirtableAPIEndpoint + baseKey + "/" + encodeURIComponent(tableName), options).getContentText();
return(response);
}