Skip to content

Notion API记账。将导出的微信付款账单再次导入至Notion,(注意,没有使用Wechat Pay的官方API)

License

Notifications You must be signed in to change notification settings

tsinglinrain/WechatPay_to_Notion

Repository files navigation

WechatPay_to_Notion

将导出的微信付款账单再次导入至Notion,(注意,没有使用Wechat Pay的官方API)

这是个人对于Notion API一个尝试,目前仍然作为练手项目,目前已经相对完善,但是完全可以使用
我自己就在使用,导入到Notion后利用数据库视图等便于管理支出情况。

当然,寻找相关记账的模板,配合使用效果更佳哦。

其他说明

由于微信支付官方API仅仅对商户开放使用,普通人目前无法使用。详情点击
简介-接口规则 | 微信支付商户平台文档中心

所以只好先将账单导出,随后利用python语言,并借助Notion提供的API接口对其进行请求,最终将内容发送至Notion数据库。

灵感来源于少数派的这篇文章,但是他没有给出完整的代码。同时少数派写得比较早,但是没有随着Notion的API更新而继续更新。

进阶使用

请先阅读基本使用说明,随后点击阅读进阶指南

进阶指南

基本使用说明

1. Notion API申请

image-20230324213427619

1.2 点击New integration

简单填写Name,并且选择Associated workspace后下翻找到Submit并点击提交。

image-20230324214416578

点击show后,点击copy,复制好后作为备用。如果是win系统,使用时敲击键盘win+v,即可查看剪贴板内容。

image-20230324214659248

2. Notion数据库

2.1 创建数据库

你可以复制此模板进行参考。
请注意,如果你对于官方的请求模式并不熟悉,请不要编辑本模板;如果你需要自己设置,需要参考Introduction (notion.com),并对python代码进行相关修改。

2.2 引入integration

如下图所示,点击...Add connections,找到前面自己设置的integration,这里是点击记账

image-20230325202326631

点击confirm后,应当如图所示。

2.3 复制database id

在浏览器中找到自己的数据库,观察上面的网址,网址应当如下所示,
https://www.notion.so/tsinglin/68151a1caaca488a884cafcd5086810c?v=3d0c405e7cae406599eed2fe3f9233dc
复制tsinglin/?之间的内容,这就是database id

3. WeChat Pay账单的导出

打开微信,点击底下,点击服务,点击右上方钱包,点击右上角账单,点击右上角常见问题,点击左上角下载账单,点击用于个人对账,自己选择时间,输入支付密码和邮箱。请注意邮箱一定不能填错,否则容易造成隐私泄露。

收到邮件后也会受到微信官方发来的解压密码。

总之,最终得到一份格式为csv的文件。

4. python代码设置

4.1 下载本项目中所有文件

可以git下载,也可以直接下载本项目的压缩包,然后解压。

4.2 database idtoken填入

请将config.yaml复制并改成config_private.yaml,然后填入如下内容:

# 请将此config.yaml复制并重命名为config_private.yaml
database_id: "aaa121************"    # 数据库ID, 要填进去哦
token: "secret_Wa***********" # token, 记得自己填写

解释原因:

  • 可能存在有人fork的情况,git上传一般会把文件全部上传,容易把隐私不小心上传上去。
  • .gitignore里面我已经设置忽略config_private.yaml

4.3 重命名

将微信账单的csv文件复制进入此文件夹下,并且将此csv文件重命名为wechat_raw.csv

解释原因:

  1. 代码中文件位置为相对路径,必须将微信账单文件与上述文件为同一文件夹下
  2. 代码中规定文件名称为wechat_raw.csv,必须重命名微信账单文件

4.4 运行程序

运行main.py即可。

4.5 观察运行结果

一般是出现成功

出现失败,需要单独检查,暂时还没有返回是哪一行出现失败,以后再修改(没想好怎么改)。

5. 下一步计划

  1. 不需要自己该名称,直接拖动进入文件夹后,运行main.py即可

  2. 对于有服务器的,或者可以用GitHub Action接收件邮件, 自动下载附件并解压得到csv文件

  3. 得到csv文件后便于后续操作

  4. 可以设置每月自动导出,发送至邮箱,随后执行自动化步骤,账单久能出现在Notion

About

Notion API记账。将导出的微信付款账单再次导入至Notion,(注意,没有使用Wechat Pay的官方API)

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages