1 个不稳定版本
0.1.0 | 2024年6月21日 |
---|
#1089 in 数据库接口
93KB
2.5K SLoC
monzo-rust
A rust 命令行应用程序,用于将 Monzo 交易历史记录下载到 SQLITE 数据库。
安装
cargo install --git https://github.com/richardjlyon/rust-monzo
用法
> monzo-cli
Usage: monzo <COMMAND>
Commands:
update Update transactions
balances Account balances
auth (Re)authorise the application
reset Reset the database (WARNING: This will delete all data!)
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help
-V, --version Print version
贡献
欢迎提交拉取请求。对于重大更改,请首先打开一个问题来讨论您想要更改的内容。
请确保适当更新测试。
许可
配置
授权
使用以下内容编辑文件 configuration.toml
start_date = "2024-01-01T00:00:00"
default_days_to_update = 14
[database]
database_path = "db.sqlite"
max_connections = 5
[oath_credentials]
client_id = "XXX"
client_secret = "XXX"
redirect_uri = "https://127.0.0.1:3000/oauth/callback"
在 Monzo 开发者控制台中创建一个新的 OAuth 客户端,并将 client_id
和 client_secret
替换为新客户端的值。将 start_date
替换为您想要下载的最早交易日期。
自定义分类
在项目的根目录下创建文件 configuration.yaml
,内容如下
category_0000Aebc1dJeps1a2lDFKb: "InternetMobile"
category_0000AeNDWV8K5iX53Ohyld: "Car"
category_0000AiofUPXe8c5I6Zxp6g: "Clothing"
category_0000AeR7gxWtXy4Hzy0ULL: "Energy"
category_0000AgThBIKMlNhgpZPRhZ: "Maintenance"
category_0000AeU961sBDb6GUYcQh1: "Subscriptions"
将分类 ID 替换为您想要使用的分类 ID。这些可以在数据库中找到。
注意
- 出于安全原因,Monzo API 限制所有交易在认证后的 5 分钟窗口内下载。这意味着您第一次运行应用程序时,需要运行
auth
命令并按照说明进行应用程序认证。这只需要做一次。 - 由于缺乏对“Pots”内交易的任何 API 访问,Monzo API 受到严重限制。对此我无能为力。
依赖项
~66MB
~1M SLoC