#zoom #metrics #video #command-line #config-toml

app syncazoom

一个用于同步Zoom指标到本地数据库的命令行应用程序

1个不稳定版本

0.1.0 2020年4月6日

#9#zoom

MIT/Apache

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