zoom-calendar

TotalClaw 作者 totalclaw

创建 Zoom 会议并使用适当的会议数据将其添加到 Google 日历活动 (图标、视频条目、注释)。使用 Zoom 创建日历事件时使用,将 Zoom 添加到 现有活动,或任何 Zoom + Google 日历集成。需要 Zoom 服务器到服务器 OAuth 凭据和 Google 日历 (gog) 身份验证。

安装 / 下载方式

TotalClaw CLI推荐
totalclaw install totalclaw:totalclaw~shaharsha-zoom-calendar
cURL直接下载,无需登录
curl -fsSL https://skills.taituai.com/api/skills/totalclaw%3Atotalclaw~shaharsha-zoom-calendar/file -o shaharsha-zoom-calendar.md
## 概述(中文)

创建 Zoom 会议并使用适当的会议数据将其添加到 Google 日历活动
(图标、视频条目、注释)。使用 Zoom 创建日历事件时使用,将 Zoom 添加到
现有活动,或任何 Zoom + Google 日历集成。需要 Zoom 服务器到服务器
OAuth 凭据和 Google 日历 (gog) 身份验证。

## 原文

# Zoom + Google Calendar 📹

Create Zoom meetings via API and attach them to Google Calendar events — identical to the Zoom for Google Workspace add-on UI.

## Quick Usage

```bash
bash skills/zoom-calendar/scripts/zoom_meeting.sh <event_id> "Meeting Title" "2026-03-01T11:50:00" 60
```

**Parameters:**
| Param | Description | Example |
|-------|-------------|---------|
| `event_id` | Google Calendar event ID | `dgth9d45bb93a0q7ohfnckq88k` |
| `topic` | Meeting title | `"Team Meeting"` |
| `start_time` | ISO format, no timezone (Jerusalem assumed) | `"2026-03-01T11:50:00"` |
| `duration` | Minutes (optional, default 60) | `45` |

**Output:** Join URL, Meeting ID, Password + event patched automatically.

## Typical Workflow

1. Create calendar event with `gog calendar create`
2. Run `zoom_meeting.sh` with the event ID
3. Done — conferenceData with icon, video link, and notes are set

## Critical Rules

| Rule | Detail |
|------|--------|
| **iconUri** | Use EXACTLY the URL in the script — official Zoom Marketplace icon |
| **entryPoints** | ONLY `video` — no phone, no SIP |
| **`passcode`** | Not `pin` — field name matters |
| **`meetingCode`** | Include the meeting ID here too |
| **notes** | Use `<br />` for line breaks (not `\n`) |
| **description** | Leave empty — don't duplicate info |
| **location** | Leave empty — Zoom link lives in conferenceData |
| **Default** | Do NOT add Zoom unless explicitly requested |

## Auth Setup

### Zoom (Server-to-Server OAuth)

Credentials: `.credentials/zoom.json`
```json
{"account_id": "...", "client_id": "...", "client_secret": "..."}
```

Create at marketplace.zoom.us → Develop → Server-to-Server OAuth.
Scopes: `meeting:write:admin`, `meeting:read:admin`.

### Google Calendar

Uses `gog` CLI auth. The script handles token export + refresh automatically.

**Required env vars:**
- `GOG_KEYRING_PASSWORD` — keyring password for gog CLI
- `GOG_ACCOUNT` — Google account email (e.g. `user@gmail.com`)

**Required files:**
- `$HOME/.config/gogcli/credentials.json` — Google OAuth client credentials (created by `gog auth`)
- Override path with `GOG_CREDENTIALS` env var

**Required CLI tools:** `gog`, `jq`, `curl`, `base64`