airtable
Add context to all requests
Простой пакет #golang для доступа к API Airtable.
API Golang Airtable был протестирован совместимы с GO 1.13 на UP.
go get github.com/mehanizm/airtable
Вы должны получить your_api_token
на странице учетной записи Airtable
client := airtable . NewClient ( "your_api_token" )
Вы можете использовать пользовательский HTTP -клиент здесь
client . SetCustomClient ( http . DefaultClient )
Каждый метод ниже можно использовать с пользовательским контекстом. Просто используйте вызов MethodNameContext
и предоставьте контекст в качестве первого аргумента.
bases , err := client . GetBases (). WithOffset ( "" ). Do ()
schema , err := client . GetBaseSchema ( "your_database_ID" ). Do ()
Чтобы получить your_database_ID
вы должны перейти на страницу Main API и выбрать базу данных.
table := client . GetTable ( "your_database_ID" , "your_table_name" )
Чтобы получить записи из таблицы, вы можете использовать что -то подобное
records , err := table . GetRecords ().
FromView ( "view_1" ).
WithFilterFormula ( "AND({Field1}='value_1',NOT({Field2}='value_2'))" ).
WithSort ( sortQuery1 , sortQuery2 ).
ReturnFields ( "Field1" , "Field2" ).
InStringFormat ( "Europe/Moscow" , "ru" ).
Do ()
if err != nil {
// Handle error
}
recordsToSend := & airtable. Records {
Records : [] * airtable. Record {
{
Fields : map [ string ] any {
"Field1" : "value1" ,
"Field2" : true ,
},
},
},
}
receivedRecords , err := table . AddRecords ( recordsToSend )
if err != nil {
// Handle error
}
record , err := table . GetRecord ( "recordID" )
if err != nil {
// Handle error
}
Для частичного обновления одной записи
res , err := record . UpdateRecordPartial ( map [ string ] any { "Field_2" : false })
if err != nil {
// Handle error
}
Для полного обновления записей
toUpdateRecords := & airtable. Records {
Records : [] * airtable. Record {
{
Fields : map [ string ] any {
"Field1" : "value1" ,
"Field2" : true ,
},
},
{
Fields : map [ string ] any {
"Field1" : "value1" ,
"Field2" : true ,
},
},
},
}
updatedRecords , err := table . UpdateRecords ( toUpdateRecords )
if err != nil {
// Handle error
}
res , err := record . DeleteRecord ()
if err != nil {
// Handle error
}
Чтобы удалить до 10 записей
records , err := table . DeleteRecords ([] string { "recordID1" , "recordsID2" })
if err != nil {
// Handle error
}
Вдохновлен Go Trello API