Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vikadata/vika.go
Vika Golang SDK
https://github.com/vikadata/vika.go
Last synced: 9 days ago
JSON representation
Vika Golang SDK
- Host: GitHub
- URL: https://github.com/vikadata/vika.go
- Owner: vikadata
- License: mit
- Created: 2020-09-29T11:46:10.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2023-07-04T02:33:59.000Z (over 1 year ago)
- Last Synced: 2024-08-01T19:43:50.014Z (4 months ago)
- Language: Go
- Size: 118 KB
- Stars: 17
- Watchers: 5
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-vikadata - vika.go - Third party vika Golang SDK (🎯维格表 API SDK 集合,覆盖主流编程语言 / 👨💻社区维护的 SDK)
README
# PLEASE NOTE, THIS PROJECT IS NO LONGER BEING MAINTAINED
---
# Vika
[Vika](https://vika.cn) Golang SDK 是对维格表 API 的封装。
## 快速开始
### 环境要求go 1.15 +
### 安装
```shell
go get github.com/vikadata/vika.go
```## 获取 API TOKEN
访问维格表的工作台,点击左下角的个人头像,进入「用户中心 > 开发者配置」。点击生成Token(首次使用需要绑定邮箱)。
### 使用
```go
package mainimport (
"fmt"
"github.com/vikadata/vika.go/lib/common"
vkerror "github.com/vikadata/vika.go/lib/common/error"
"github.com/vikadata/vika.go/lib/common/profile"
vika "github.com/vikadata/vika.go/lib/datasheet"
)func main() {
credential := common.NewCredential("YOUR_API_TOKEN")
cpf := profile.NewClientProfile()
datasheet, _ := vika.NewDatasheet(credential, "datasheetId", cpf)
// 获取全部的数据
request := vika.NewDescribeRecordRequest()
request.Sort = []*vika.Sort{
{
Field: common.StringPtr("number_field"),
Order: common.StringPtr("desc"),
},
}
request.Fields = common.StringPtrs([]string{"number_field"})
records, err := datasheet.DescribeAllRecords(request)
if _, ok := err.(*vkerror.SDKError); ok {
fmt.Printf("An API error has returned: %s", err)
return
}
// 非SDK异常,直接失败。实际代码中可以加入其他的处理。
if err != nil {
panic(err)
}
// 打印返回的数据
fmt.Printf("%#v\n", records)
// 分页获取数据
page, err := datasheet.DescribeRecords(request)
if _, ok := err.(*vkerror.SDKError); ok {
fmt.Printf("An API error has returned: %s", err)
return
}
// 非SDK异常,直接失败。实际代码中可以加入其他的处理。
if err != nil {
panic(err)
}
// 打印返回的数据
fmt.Printf("%#v\n", page)
// 添加记录
createRequest := vika.NewCreateRecordsRequest()
createRequest.Records = []*vika.Fields{
{
Fields: &vika.Field{
"number_field": vika.NumberFieldValue(900),
},
},
}
createRecords, err := datasheet.CreateRecords(createRequest)
if _, ok := err.(*vkerror.SDKError); ok {
fmt.Printf("An API error has returned: %s", err)
return
}
// 非SDK异常,直接失败。实际代码中可以加入其他的处理。
if err != nil {
panic(err)
}
// 打印返回的数据
fmt.Printf("%#v\n", createRecords)
// 修改记录
modifyRequest := vika.NewModifyRecordsRequest()
modifyRequest.Records = []*vika.BaseRecord{
{
Fields: &vika.Field{
"number_field": vika.NumberFieldValue(1000),
},
RecordId: common.StringPtr("recordId"),
},
}
modifyRecords, err := datasheet.ModifyRecords(modifyRequest)
if _, ok := err.(*vkerror.SDKError); ok {
fmt.Printf("An API error has returned: %s", err)
return
}
// 非SDK异常,直接失败。实际代码中可以加入其他的处理。
if err != nil {
panic(err)
}
// 打印返回的数据
fmt.Printf("%#v\n", modifyRecords)
// 删除记录
deleteRequest := vika.NewDeleteRecordsRequest()
request.RecordIds = common.StringPtrs([]string{"recordId1", "recordId2"})
err = datasheet.DeleteRecords(deleteRequest)
if _, ok := err.(*vkerror.SDKError); ok {
fmt.Printf("An API error has returned: %s", err)
return
}
// 非SDK异常,直接失败。实际代码中可以加入其他的处理。
if err != nil {
panic(err)
}
// 上传文件
cpf.Upload = true
uploadRequest := vika.NewUploadRequest()
request.FilePath = "image.png"
attachment, err := datasheet.UploadFile(request)
if _, ok := err.(*vkerror.SDKError); ok {
fmt.Printf("An API error has returned: %s", err)
return
}
// 非SDK异常,直接失败。实际代码中可以加入其他的处理。
if err != nil {
panic(err)
}
// 打印返回的数据
fmt.Printf("%#v\n", attachment)
}```