步骤
打开notion网页,获取到需要的值
- token_v2
找到请求getSpaces的 Cookie 值 token_v2
-
space_id
找到请求getSpaces的响应结果space,如下图:
-
file_token
找个页面点击导出,之后拿到这个配置项
注意:配置项会过期,如果任务失败请及时更新
打开或者新建一个仓库 notion-backup
-
点击settings,找到左侧actions,点击general将默认权限为可读可写。如下图:
-
点就左侧 secrets and variables,添加上面的几个变量。
变量名如下,值为上述。如果没有就新建。
-
点击actions,配置文件如下:
这个文件表示每天早上0点将notion文件备份一次
yml
name: "Notion backup"
on:
push:
branches:
- master
schedule:
# 表示每天早上0点执行一次
- cron: "0 0 * * *"
workflow_dispatch:
jobs:
backup:
runs-on: ubuntu-latest
name: Backup
timeout-minutes: 15
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v2
with:
node-version: '18'
- name: Delete previous backup
run: rm -rf markdown html *.zip
- name: Setup dependencies
run: npm install -g notion-backup
- name: Run backup
run: notion-backup
env:
NOTION_TOKEN: ${{ secrets.NOTION_TOKEN }}
NOTION_FILE_TOKEN: ${{ secrets.NOTION_FILE_TOKEN }}
NOTION_SPACE_ID: ${{ secrets.NOTION_SPACE_ID }}
NODE_OPTIONS: "--max-http-header-size 15000"
- name: Delete zips
run: |
rm -f *.zip
rm -f markdown/*-Part*.zip
rm -f html/*-Part*.zip
- name: Commit changes
run: |
git config user.name github-actions
git config user.email github-actions@github.com
git add .
git commit -m "Automated snapshot"
git push
- 点击此处可以运行