1个不稳定版本
0.1.0 | 2020年4月6日 |
---|
#9 在 #zoom
22KB
362 行
syncazoom
Zoom是线上沟通的重要工具。尤其是在社交距离的时期
这个工具旨在帮助您管理对Zoom的API调用,并使存储Zoom会议指标的本地区本变得容易。
入门
添加您的密钥
复制示例文件并将其重命名为 config.toml
[creds]
key = "EXAMPLE"
secret = "EXAMPLE"
[settings]
seconds_between_calls = 60
cron_interval = "0 0 3,6,9,12,15,18,21 * * Mon-Fri *"
[slack]
webhook = "EXAMPLE"
从cargo安装(不完整)
# install rust
cargo install syncazoom
运行应用程序
syncazoom -c config.toml
查询
sqlite3 meetings.sql3
# SQLite version 3.28.0 2019-04-15 14:49:49
# Enter ".help" for usage hints.
# sqlite>
然后输入以下(或更实用的)SQL
SELECT * FROM meetings LIMIT 10;
示例输出
03/04/2020 08:57:00
Start run
.oooo.o oooo ooo ooo. .oo. .ooooo. .oooo. oooooooo .ooooo. .ooooo. ooo. .oo. .oo.
d88( "8 `88. .8' `888P"Y88b d88' `"Y8 `P )88b d'""7d8P d88' `88b d88' `88b `888P"Y88bP"Y88b
`"Y88b. `88..8' 888 888 888 .oP"888 .d8P' 888 888 888 888 888 888 888
o. )88b `888' 888 888 888 .o8 d8( 888 .d8P' .P 888 888 888 888 888 888 888
8""888P' .8' o888o o888o `Y8bod8P' `Y888""8o d8888888P `Y8bod8P' `Y8bod8P' o888o o888o o888o
.o..P'
`Y8P'
URL | https://api.zoom.us/v2/metrics/meetings?type=past&page_size=300
Total Estimated Runtime 50 mins
─── Log
°
├── Start | 2020-04-02
├── End | 2020-04-03
├── Pages | 50
├── Current | 1
├── Per Page | 300
├── Total | 14938
└── Remaining | 14888
°
├── 3vjYIIsiRbOB9hjeluH6mA==
├── Alice Human's Zoom Meeting
├── Alice Human
├── 2020-04-02T00:00:01Z
└── 2020-04-02T00:11:04Z
°
├── XCjX59nUS2W0rz+5zllm0g==
├── Bob Person's Zoom Meeting
├── Bob Person
├── 2020-04-02T00:40:38Z
└── 2020-04-02T02:04:48Z
°
└── Next Page Token: "k89o4smQsnuOGt03Z0h57EU1u3vYe0GU9a2"
开发者
从源安装
# install rust
cargo build --release
工作原理
syncazoom的一个基本概念是其心跳。在某个间隔内,它将检查是否正在获取数据——如果没有,它将启动该过程。
这个过程调用Zoom的指标API,然后将其存储在sqlite3的本地实例中。我们只在每个uuid上执行“插入或替换”,因此我们永远不会出现重复条目。
依赖关系
~40MB
~850K SLoC