← 返回 Skills 市场
kumadun

Book Google Meet

作者 KumaDun · GitHub ↗ · v1.0.7 · MIT-0
cross-platform ⚠ suspicious
400
总下载
0
收藏
0
当前安装
7
版本数
在 OpenClaw 中安装
/install book-google-meet
功能描述
Create scheduled Google Calendar events with OPEN access Google Meet spaces.
使用说明 (SKILL.md)

book-google-meet

Create scheduled Google Calendar events with OPEN access Google Meet spaces.

Quick Start

# 1. Install dependencies
pip install -r requirements.txt

# 2. Get OAuth credentials from Google Cloud Console
#    - Enable Google Calendar API and Google Meet API
#    - Create OAuth 2.0 Desktop app credentials
#    - Download client_secrets.json

# 3. Place client_secrets.json in the skill directory

# 4. Run the script
python book_meeting.py --title "My Meeting" --date "2026-03-12" --time "15:00" --duration 45 --timezone "Asia/Shanghai"

Prerequisites

1. Google Cloud Project Setup

  1. Go to Google Cloud Console
  2. Create a new project
  3. Enable APIs:

2. OAuth Consent Screen

  1. Go to OAuth consent screen
  2. Select External user type
  3. Fill in app name and contact email
  4. Add scope: https://www.googleapis.com/auth/meetings.space.settings
  5. Set publishing status to In production

3. Create OAuth Credentials

  1. Go to Credentials
  2. Click Create CredentialsOAuth client ID
  3. Select Desktop app application type
  4. Download JSON and save as client_secrets.json

Alternative: Set environment variables instead of using client_secrets.json:

export GOOGLE_CLIENT_ID='your-client-id'
export GOOGLE_CLIENT_SECRET='your-client-secret'

Required OAuth Scopes

https://www.googleapis.com/auth/calendar.events
https://www.googleapis.com/auth/calendar
https://www.googleapis.com/auth/meetings.space.settings

Note: Use meetings.space.settings (non-sensitive) instead of meetings.space.created (sensitive).

Usage

Basic Usage

python book_meeting.py --title "Team Meeting" --date "2026-03-12" --time "15:00" --duration 45 --timezone "Asia/Shanghai"

With Attendees

python book_meeting.py --title "Team Meeting" --date "2026-03-12" --time "15:00" --duration 45 \
  --timezone "Asia/Shanghai" \
  --attendees "[email protected],[email protected]"

With Description

python book_meeting.py --title "Team Meeting" --date "2026-03-12" --time "15:00" --duration 45 \
  --timezone "Asia/Shanghai" \
  --description "Weekly sync meeting"

Access Types

# OPEN - Anyone with link can join (default)
python book_meeting.py --title "Public Meeting" --date "2026-03-12" --time "15:00" --duration 45 \
  --timezone "Asia/Shanghai" --access-type OPEN

# TRUSTED - Org members + invited external users
python book_meeting.py --title "Internal Meeting" --date "2026-03-12" --time "15:00" --duration 45 \
  --timezone "Asia/Shanghai" --access-type TRUSTED

# RESTRICTED - Only invitees
python book_meeting.py --title "Private Meeting" --date "2026-03-12" --time "15:00" --duration 45 \
  --timezone "Asia/Shanghai" --access-type RESTRICTED

Command Line Options

Option Description Default
--title, -t Meeting title (required) -
--date, -d Meeting date (YYYY-MM-DD) -
--time Meeting start time (HH:MM) -
--duration Duration in minutes 45
--timezone, -z Timezone America/New_York
--attendees Comma-separated email list -
--description Meeting description -
--access-type OPEN, TRUSTED, or RESTRICTED OPEN
--credentials, -c Path to client_secrets.json client_secrets.json
--token-path Path to store OAuth token meeting_token.pickle

Output Example

🚀 Step 1: Creating Calendar event with Meet conference...
✅ Calendar event created with Meet conference
   Meeting Code: abc-defg-hij

🚀 Step 2: Looking up Meet space using meeting code...
✅ Found Meet space: spaces/xxxxxxxxxx

🚀 Step 3: Patching Meet space to OPEN access...
✅ Meet space patched successfully!
   Access Type: OPEN

============================================================
✅ Meeting created successfully!
============================================================

📅 Title: Team Meeting
🕐 Start: 2026-03-12T15:00:00
🕐 End: 2026-03-12T15:45:00
🌐 Timezone: Asia/Shanghai

🔗 Meet URL: https://meet.google.com/abc-defg-hij
📞 Meeting Code: abc-defg-hij
🔓 Access Type: OPEN
🆔 Space Name: spaces/xxxxxxxxxx

📧 Calendar Link: https://calendar.google.com/calendar/event?eid=...
🆔 Event ID: xxxxxxxxxxxxxx
============================================================

How It Works

  1. Calendar API - Create event with Meet conference
  2. Meet API (spaces.get) - Look up Meet space using meeting code
  3. Meet API (spaces.patch) - Update space to set accessType=OPEN

Troubleshooting

403 Permission Denied

Cause: Using meetings.space.created scope (sensitive) without additional verification.

Solution: Use meetings.space.settings scope (non-sensitive) instead. Already fixed in the script.

API Not Enabled

Enable both APIs in Google Cloud Console:

Invalid Credentials

Delete meeting_token.pickle to force re-authentication:

rm meeting_token.pickle

Files

  • book_meeting.py - Main script
  • client_secrets.json - OAuth credentials (you provide)
  • meeting_token.pickle - Cached OAuth token (auto-generated)
  • requirements.txt - Python dependencies

Security Notes

⚠️ Sensitive Files:

File Description Security
meeting_token.pickle Cached OAuth tokens (contains refresh token) Keep secure; delete when not needed; do not commit to version control
client_secrets.json OAuth client credentials Never commit to version control; protect as password

⚠️ Token File Warning: The script writes meeting_token.pickle to disk after first OAuth authorization. This file contains sensitive OAuth tokens including refresh tokens that can be used to access your Google account. Protect this file:

  • Do not share it
  • Do not commit it to version control
  • Delete it when no longer needed
  • Ensure proper file permissions (readable only by owner)

References

安全使用建议
This skill appears to do what it says: create Google Calendar events and set Meet access. Before installing or running it: 1) Verify you trust the skill source — the registry metadata you were shown omits the credential and file requirements that the SKILL.md and code actually expect. 2) Only provide OAuth client credentials you control; prefer creating a dedicated Google Cloud project and OAuth client for this tool. 3) Be aware the script will run a local OAuth flow and persist credentials to meeting_token.pickle (and may look in ~/.config paths); protect or delete that file when done. 4) Review the code yourself (book_meeting.py is included) and consider running in an isolated environment if you have any doubt. 5) Note the tool can set Meet access to OPEN (anyone with the link can join) — ensure that is acceptable for your organization. If you want this to be lower risk, confirm the registry metadata is corrected to declare required env vars/files, or edit the script to store tokens in a secure location and limit scopes.
功能分析
Type: OpenClaw Skill Name: book-google-meet Version: 1.0.7 The skill is classified as suspicious due to the use of the `pickle` module for storing and loading OAuth tokens in `meeting_token.pickle`, which is a known deserialization vulnerability that could lead to remote code execution if the file is tampered with. Additionally, the script requests broad 'Full Access' Google Calendar scopes (`auth/calendar`) and performs network operations to Google APIs. While these behaviors are documented in `SKILL.md` and `book_meeting.py` and are plausibly needed for the stated purpose of booking meetings, the combination of insecure serialization and broad permissions warrants a cautious classification.
能力评估
Purpose & Capability
The name/description align with the included code: book_meeting.py implements Calendar event creation and uses the Meet API to look up and patch a Meet 'space' accessType. Requested OAuth scopes and the use of google-api-python-client are coherent for this purpose. However, the registry metadata supplied to the evaluator lists no required env vars or config paths while the SKILL.md and code expect client_secrets.json or GOOGLE_CLIENT_ID/GOOGLE_CLIENT_SECRET and write meeting_token.pickle — that mismatch is unexpected.
Instruction Scope
SKILL.md instructs the user to obtain OAuth credentials, install the Python packages, and run the script. The runtime instructions and the script operate only against Google APIs (Calendar and Meet) and only access client credential files, environment variables, and create a local token file. They do not attempt to read unrelated system files or send data to third‑party endpoints.
Install Mechanism
This is instruction-only with a small Python script and a requirements.txt; dependencies are standard google-auth packages pulled via pip. There is no remote arbitrary code download or obscure installer. Risk from the install mechanism itself is low, but running pip installs and executing the script will install code that interacts with Google APIs.
Credentials
The SKILL.md metadata and code expect OAuth client credentials (client_secrets.json or GOOGLE_CLIENT_ID/GOOGLE_CLIENT_SECRET) and will persist a pickled credentials token (meeting_token.pickle). The registry summary provided earlier reported no required env vars or config paths — that inconsistency is a red flag. Storing OAuth tokens as an unencrypted pickle in the working directory or default paths (~/.config/google-meet) may expose long‑lived credentials if file permissions are not handled carefully. The requested OAuth scopes include calendar and meetings.space.settings which are appropriate for the stated actions but still grant access to calendar events and Meet spaces.
Persistence & Privilege
The skill writes a token file (meeting_token.pickle) to disk and may create or use credential files in user config directories. It does not request always:true or modify other skills. Persisting OAuth tokens is expected for desktop OAuth flows, but you should be aware the token file represents authenticated access and should be protected/removed when not needed.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install book-google-meet
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /book-google-meet 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.7
- Added documentation for using environment variables (GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET) as an alternative to client_secrets.json. - Expanded and clarified README sections on sensitive files, security practices, and protection of meeting_token.pickle. - Updated clawbot metadata to improve accuracy regarding required files and environment variables. - Minor formatting tweaks and clarifications in usage, prerequisites, and files sections.
v1.0.6
- Added a requirements.txt file for easier dependency installation. - Updated installation instructions to recommend using requirements.txt. - Improved SKILL metadata to explicitly list required Python packages. - No changes to core feature or command options.
v1.0.5
**Changelog for book-google-meet v1.0.5** - Major upgrade: Now creates scheduled Google Calendar events with Google Meet links, not just ad-hoc spaces. - NEW: Added `book_meeting.py` for creating calendar events with customizable Meet access (OPEN/TRUSTED/RESTRICTED). - Simpler OAuth: Standard Google OAuth flow; only `client_secrets.json` needed—no external binaries required. - Supports attendee invites, event descriptions, and flexible timing via CLI options. - Drops legacy `gog` dependency and removes `create_meet_space.py`. - Documentation fully updated for new usage, APIs, scopes, and troubleshooting.
v1.0.4
book-google-meet 1.0.4 - Added a "Security Notes" section to SKILL.md with explicit recommendations for handling credential files. - Clarified that `meet_token.pickle` and `gogcli/credentials.json` contain sensitive information and should be secured. - Provided instructions on deleting cached OAuth tokens to force re-authentication. - No code or functional changes; documentation only.
v1.0.3
- Added GOG_CREDENTIALS_PATH as a required environment variable in the skill metadata. - No functional changes to the skill itself; documentation and metadata updated for clarity and completeness.
v1.0.2
- Added a "Required Binary" notice for the gog CLI tool and clarified its role. - Updated authentication instructions: use --services meet (not calendar) for proper OAuth scope. - Documented new command-line options and usage examples for customizing credentials path, access type, and toggling auto-recording/transcription. - Explained environment variable GOG_CREDENTIALS_PATH for specifying credentials location. - Clarified credential file loading and default locations for Windows, macOS, and Linux. - Improved structure for ease of setup and troubleshooting.
v1.0.0
- Initial release of book-google-meet. - Book Google Meet meetings from the command line using the Google Meet API v2. - Requires the gog CLI for OAuth authentication. - Supports custom access control and optional auto-recording and transcription. - Includes setup and troubleshooting instructions for all platforms. - Returns meeting details including URL, code, and configuration.
元数据
Slug book-google-meet
版本 1.0.7
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 7
常见问题

Book Google Meet 是什么?

Create scheduled Google Calendar events with OPEN access Google Meet spaces. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 400 次。

如何安装 Book Google Meet?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install book-google-meet」即可一键安装,无需额外配置。

Book Google Meet 是免费的吗?

是的,Book Google Meet 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Book Google Meet 支持哪些平台?

Book Google Meet 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Book Google Meet?

由 KumaDun(@kumadun)开发并维护,当前版本 v1.0.7。

💬 留言讨论