返回顶部
e

ews-calendar

Extract calendar events from Microsoft Exchange via EWS API

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
311
下载量
0
收藏
概述
安装方式
版本历史

ews-calendar

## Purpose Fetch calendar events from Microsoft Exchange Web Services (EWS) and return them as structured JSON. ## When to Use - User asks about their calendar events ("What's on my calendar today?") - Need to retrieve meetings for today, tomorrow, or a specific date - Extracting meeting details: subject, time, location, organizer, body text, links ## Security Model **Credentials are stored in OS keyring, NOT in config files:** - **macOS**: Keychain Access (encrypted, OS-managed) - **Linux**: libsecret / gnome-keyring (encrypted, OS-managed) Only `EWS_URL` and `EWS_USER` are stored in OpenClaw config (non-secret). The password is retrieved securely at runtime. ## Setup ### 1. Install keyring tools (Linux only) ```bash # Debian/Ubuntu sudo apt install libsecret-tools gnome-keyring # Fedora sudo dnf install libsecret gnome-keyring # Arch sudo pacman -S libsecret gnome-keyring ``` macOS has Keychain built-in. ### 2. Store credentials in keyring ```bash {baseDir}/ews-calendar-setup.sh --user "DOMAIN\\username" ``` You will be prompted for your password. This stores it securely in the OS keyring. ### 3. Configure OpenClaw Add to `~/.openclaw/openclaw.json`: ```json5 { skills: { entries: { "ews-calendar": { enabled: true, env: { EWS_URL: "https://outlook.company.com/EWS/Exchange.asmx", EWS_USER: "DOMAIN\\username" } } } } } ``` Replace with your actual Exchange URL and username. ## Usage The skill runs `{baseDir}/ews-calendar-secure.sh` which: 1. Retrieves `EWS_PASS` from OS keyring 2. Calls the main script with all credentials in environment 3. Returns JSON output ### Command Syntax ```bash {baseDir}/ews-calendar-secure.sh --date <DATE> [--output <FILE>] [--verbose] ``` ### Parameters - `--date` (required): Date filter - `YYYY-MM-DD` — specific date (e.g., `2026-03-03`) - `today` — today's date - `tomorrow` — tomorrow's date - `--output <FILE>`: Write JSON to file instead of stdout - `--verbose`: Enable debug logging - `--debug-xml <FILE>`: Save raw XML response for debugging ### Output Format Returns JSON array of calendar events: ```json [ { "subject": "Team Standup", "start": "2026-03-03T10:00:00Z", "end": "2026-03-03T10:30:00Z", "location": "Conference Room A", "organizer": "manager@company.com", "body": "Weekly sync meeting to discuss sprint progress...", "links": ["https://zoom.us/j/12345", "https://confluence.example.com/doc"] } ] ``` Returns empty array `[]` if no events found. ## Example Invocations **Get today's events:** ```bash {baseDir}/ews-calendar-secure.sh --date today ``` **Get tomorrow's events to file:** ```bash {baseDir}/ews-calendar-secure.sh --date tomorrow --output /tmp/tomorrow.json ``` **Get specific date with debug:** ```bash {baseDir}/ews-calendar-secure.sh --date 2026-03-03 --verbose --debug-xml /tmp/debug.xml ``` ## Troubleshooting ### Password not found in keyring ``` [ERROR] Password not found in keyring for user: DOMAIN\username [HINT] Run: ./ews-calendar-setup.sh to store credentials ``` **Solution:** Run the setup script to store your password: ```bash {baseDir}/ews-calendar-setup.sh --user "DOMAIN\\username" ``` ### Linux: secret-tool not found ``` [ERROR] 'secret-tool' not found. Install: apt install libsecret-tools ``` **Solution:** Install libsecret tools: ```bash sudo apt install libsecret-tools gnome-keyring ``` ### Linux: Keyring locked On Linux, the keyring may be locked after login. **Solution:** Unlock your keyring (usually happens automatically on desktop login). For headless servers, you may need to set up a keyring daemon. ### HTTP request failed ``` [ERROR] HTTP request failed with status: 401 ``` **Possible causes:** - Incorrect username or password - Password changed — re-run setup script - Account locked or expired ### SOAP Fault ``` [ERROR] SOAP Fault detected Fault code: a:ErrorInvalidRequest Fault string: The request is invalid. ``` **Possible causes:** - Invalid EWS URL (check `EWS_URL` in config) - Date format issue (use `YYYY-MM-DD`) - Exchange server configuration issue ## Credential Management ### Update password (after password change) ```bash {baseDir}/ews-calendar-setup.sh --user "DOMAIN\\username" ``` The script will overwrite the existing entry. ### Remove credentials ```bash {baseDir}/ews-calendar-setup.sh --user "DOMAIN\\username" --delete ``` Or manually: **macOS:** ```bash security delete-generic-password -a "DOMAIN\\username" -s "ews-calendar" ``` **Linux:** ```bash secret-tool clear service "ews-calendar" user "DOMAIN\\username" ``` ### View stored credentials (macOS only) ```bash security find-generic-password -a "DOMAIN\\username" -s "ews-calendar" -w ``` ## Files in This Skill ``` {baseDir}/ ├── SKILL.md # This file ├── ews-calendar.sh # Main script (reads from env or .env) ├── ews-calendar-secure.sh # Wrapper that gets password from keyring ├── ews-calendar-setup.sh # Store credentials in keyring ├── templates/ │ ├── find-items.xml # SOAP template for finding calendar items │ └── get-item.xml # SOAP template for getting item details └── .env.example # Example config for standalone usage ``` ## Alternative: Standalone Usage (without keyring) For development or testing, you can run `ews-calendar.sh` directly with a `.env` file: 1. Copy `.env.example` to `.env` 2. Fill in your credentials 3. Run: `./ews-calendar.sh --date today` **Warning:** This stores password in plaintext. Use keyring for production.

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 ews-skill-1776278136 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 ews-skill-1776278136 技能

通过命令行安装

skillhub install ews-skill-1776278136

下载 Zip 包

⬇ 下载 ews-calendar v1.0.0

文件大小: 11.98 KB | 发布时间: 2026-4-16 18:43

v1.0.0 最新 2026-4-16 18:43
Initial release: Secure calendar event extraction from Microsoft Exchange via EWS API.

- Fetches Exchange calendar events and returns them as structured JSON.
- Secure credential storage using OS keyring (no plaintext passwords).
- Includes setup, configuration, and troubleshooting instructions for Linux and macOS.
- Provides shell scripts for setup, secure execution, and credential management.
- Supports date filtering (today, tomorrow, specific date) and output to file.
- Output includes subject, time, location, organizer, body, and links for each event.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部