通过Python让NotionAPI新建页面


前言:

本文基于网上对于NotionAPI的教程,多为以数据库为例子,并没有从最基础的情况开始讲,我花了一个下午才测试成功,走了不少弯路,因此我想分享一下用NotionAPI在一个页面里新建一个page的方法,借此说明Notion的页面结构。

先上完整的代码

#encoding:utf-8
import requests
Title = "此处为标题"
Text = "此处为内容"
token = ""
url = "https://api.notion.com/v1/pages"

data = { 

"parent":{
"type":"page_id",
"page_id":"",
},

"properties":{
"title":{ '"id": "title", "type": "title", "title": [{"type": "text", "text": {"content": str(Title)}}] },
},

"children":[
{
"object":"block",
"type":"paragraph",
"paragraph":{
"rich_text":[{"type":"text","text":{"content":str(Text)}}]
}
}]
}

headers = { 
"Accept": "application/json", 
"Notion-Version": "2022-02-22", 
"Content-Type": "application/json",
"Authorization": "Bearer "+token,
} 
r = requests.request("POST", url, json=data, headers=headers) 

r.encoding = 'utf-8'
print (r.text)

一些必要知识

1.token是创建NotionAPI机器人时自动发放的,复制即可

2.page_id在网页网址中可以获取,格式为8-4-4-4-12,一个数字代表一个字符

3.主体内容为data(可更改名称),其余的保留即可

数据结构

1.parent用于指定在何页面下添加数据,有page和database两种类型

2.properties可用于定义标题、icon和背景

3.children用于添加内容,但要在“块”里面添加,类型也有许多种,可以参考官方的文档,值得注意的是,添加文本不是用Text类型,而是要用paragraph才行。

附上官方文档

https://developers.notion.com/docs/working-with-page-content