go-notion
go-notion copied to clipboard
Go client for the Notion API.
go-notion
go-notion is a client for the Notion API, written in Go.
Features
The client supports all (non-deprecated) endpoints available in the Notion API, as of December 22, 2021:
Databases
- [x] Query a database
- [x] Create a database
- [x] Update database
- [x] Retrieve a database
Pages
- [x] Retrieve a page
- [x] Create a page
- [x] Update page
- [x] Retrieve a page property
Blocks
- [x] Retrieve a block
- [x] Update block
- [x] Retrieve block children
- [x] Append block children
- [x] Delete block
Users
Search
- [x] Search
Installation
$ go get github.com/dstotijn/go-notion
Getting started
To obtain an API key, follow Notion’s getting started guide.
Code example
First, construct a new Client
:
import "github.com/dstotijn/go-notion"
(...)
client := notion.NewClient("secret-api-key")
Then, use the methods defined on Client
to make requests to the API. For
example:
page, err := client.FindPageByID(context.Background(), "18d35eb5-91f1-4dcb-85b0-c340fd965015")
if err != nil {
// Handle error...
}
👉 Check out the docs on pkg.go.dev for further reference and examples.
Status
The Notion API is currently in public beta.
⚠️ Although the API itself is versioned, this client will make breaking
changes in its code until v1.0
of the module is released.
To do
- [x] Write tests
- [ ] Provide examples
License
MIT License
© 2021 David Stotijn