2 个版本
0.1.1 | 2023 年 4 月 16 日 |
---|---|
0.1.0 | 2023 年 4 月 14 日 |
在 #notion 中排名 1
每月下载 22 次
30KB
679 行
Simple Notion
使用 NotionAPI 读取 Notion 数据库的简单库。
免责声明
请注意,此库不是由 Notion 团队官方支持的。
功能
- 读取数据库
入门
API 客户端
要开始,您需要通过 NotionClient 获取对 API 的访问权限。
let mut client = crate::client::NotionClient::default();
// Added the full URL of the database page:
client.set_url("https://www.notion.so/user-name/data-base-id?v=other");
// And you need to pass your integration token
client.set_token("integration-token");
获取数据库
现在您有了访问权限,需要下载数据库。
// Get the Raw Json data-base
let data_base = client.get_table_sync().unwrap();
解析数据库
您将每个元素转换为名为 DataType 的枚举。为此,您需要 NotionResponseParser。
// Take the data_base as input
let parser = crate::parser::NotionResponseParser::new(data_base);
让我们简化一下
现在您已经有了数据库和解析器。因此,您可以创建一个 NotionDataBase。
let data_table = crate::notion_data_base::NotionDataBase::new(parser.parse_table());
访问元素
太棒了!您已经完成了设置,让我们来使用它。
// Getting the element.
let element = parser.parse_element(data_table.get(&parser, "MyLineTitle", "MyColumnName").unwrap().1);
// Priting the result
println!("My Element: {:?}", element);
一些其他有用的函数
// Get the Vec<String> of all lines titles
data_table.get_line_list(&parser);
// Get the Vec<String> of all columns names
data_table.get_column_list(&parser);
// Parse the full data-base to a Vec<Vec<DataType>>
data_table.get_all(&parser)
依赖关系
~13–25MB
~427K SLoC