notion API使用
notion API使用
status
Published
date
May 19, 2021
slug
notionapi
summary
使用python添加notion记录
category
技术分享
tags
Python
  1. 创建一个 Notion 机器人,输入名字,即可快速创建。
  1. 获取Token,点击 show,然后复制备用。
    1. notion image
  1. 在需要使用API的页面中,点击 Share 并选择 Invite ,将机器人邀请进去,让其用于编辑的权限。
    1. notion image
      notion image
  1. 获取数据表的 database_id,点击数据表右上方的 ... 选择 Copylink ,连接如下方:https://www.notion.so/xinhuoip/9bcf00dce55c42799f3b177dc325aa18?v=217bbe82893e4e4aa228a19f3f2dc888 9bcf00dc-e55c-4279-9f3b-177dc325aa18 即为database_id
  1. 使用python的requests库get方法来读取notion页面数据,示例代码如下:
    1. import requests
      token = '这个是你创建机器人时获取到的见第二步'
      r = requests.request(
              "GET",
              "https://api.notion.com/v1/pages/5b35b115ddc442e080f1b1b27e5b0ae0",#字符串为页面id
              headers={"Authorization": "Bearer " + token, "Notion-Version": "2021-05-13"},
          )
      print(r.txet)
      以上代码输出结果如下图:
      notion image
  1. 通过python的requests库中的post方法来操作notion添加数据,示例代码如下:
    1. import requests
      token = '第二步中获取到的token值'
      def post(url,title,content):
          requests.request("POST",
          "https://api.notion.com/v1/pages",
          json={
              "parent": {"type": "database_id", "database_id": "9bcf00dc-e55c-4279-9f3b-177dc325aa18"},
              "properties": {
                  "来源": {"url": url},
                  "标题": {"title": [{"type": "text", "text": {"content": title}}]},
                  "描述": {"rich_text": [{"type": "text", "text": {"content": content}}]},
              },
              "children": [
                  {
                  "object": "block",
                  "type": "paragraph",
                  "paragraph": {
                      "text": [{ "type": "text", "text": { "content": content } }]
                  }
                  }
              ]
          },
          headers={"Authorization": "Bearer " + token, "Notion-Version": "2021-05-13"},
          )
          print(title + '---' +url) 
      
      post('https://zdl.im','测试3','今天天气很不错')
      代码运行效果如下:
      notion image
      数据添加成功,代码中children中的部分为在此条数据的page中添加一个block,显示效果如下:
      notion image
  1. 结合以前的线报类代码,可直接将采集的数据直接写入到notion。
    1. 更多方法请参考下方链接。
  • Python
  • 手把手教你用Notion搭建博客Linux安装golang
    Catalog