type
status
date
slug
summary
tags
category
icon
password
Edited
Sep 19, 2022 01:12 AM
Created
Sep 17, 2022 11:42 AM
前置步骤
1. 创建一个数据库
数据库信息随便设置
2. 添加一个 Integrations
我们需要设置一个集成,通过Notion API连接你的数据库,然后生成一个访问令牌来访问Notion的API。
先打开 Integrations 界面(在Setting → Connections)
然后新建一个 Integration
Integration 的 name 随便设,这里设置成了
rc-db-userInfo
3. 将 Integration 添加到数据库的页面
搜索 name 添加到你的页面中
Notion 客户端
配置
现在我们有了工作区、数据库和集成的设置,我们可以开始为我们的数据库创建后台服务器。
初始化 package
获取 数据库 ID 和 Integration Token
数据库 ID
复制数据库的链接
然后 获取数据库 ID:
https://www.notion.so/{workspace_name}/{database_id}?v={view_id}
https://www.notion.so/jinso/e55be1ef376946f3aca88bc429121276?v=489f51ee150a44c18f3a38936560daeb
即 名字后面、问号前面的 ID(用下划线标识了)
Integration Token
打开你创建的 Integration
打开后复制即可
服务器
深入
Database
数据库对象结构
最重要的部分就是数据库的 schema,在属性
properties
中Properties
title
类型是特殊的每个数据库都存在一个
title
类型,它用来指向数据库的每一行添加 页面 到数据库
首先,在数据库中,我们默认认为每一行为一条数据,但其实也没错,而notion是以一个页面为一行数据,并添加页面的 properties 来保存一些信息
要添加页面到数据库,要用到 create a page API
要创建一个 page 需要两个关键属性:
parent
和 properties
parent
:用来指定当前页面的父节点页面,也就是数据库
properties
:添加页面的properties,也就是每一个的信息
更新 页面
需要
pageId
(你需要修改的数据库具体页面的ID)和需要修改的 property
https://www.notion.so/0032-6479b35219eb4ce6bb792c8f053912e8
查询 数据库里的 具体页面
通过使用 query a database API
里面通过
filters
来过滤属性,获取到具体的页面还有
Compound filters
通过使用 and
、 or
来过滤查找一个数据库的所有页面
调用 query API 而不使用 filter 属性
排序
通过
sorts
属性来进行排序timestamp
:排序的属性
direction
: 顺序还是倒序
Page Content
页面结构:
页面内容是用一系列的块对象(block objects)来表示的,这些块可以被参考作为页面的 children
其中每个块都要一个
type
,如 heading、 image …有的块如 toggle 等是有 children 的
下面是一个 段落块 的对象信息
页面也是一个块
页面是一个特殊的块,但它也有孩子,你也可以引用它作为一系列的块,通过 ID
Rich text的格式:
创建一个页面并附加块
通过
children
属性来添加读取一个页面上块的信息
记住 page 也是一个块,所以也可以用 pageid 来充当 blockid
它返回一个包含所有块的数组
添加块到页面上
参考链接:
- 作者:JinSo
- 链接:https://jinso365.top/article/notionapi-intro
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。