canonical_id: "gmail" display_name: "Gmail 發信" category: "api" version: "v1" wasi_target: "preview1" stability: "floating" runtime_compat: - "cf-workers" - "workerd" - "wazero" constraints: max_size_kb: 2048 max_cold_start_ms: 50 no_network_syscall: true no_filesystem_syscall: true io_model: "stdin_stdout_json" input_schema: type: object required: [to, subject, body, access_token] properties: to: type: string description: 收件人 Email subject: type: string body: type: string access_token: type: string description: Google OAuth access token output_schema: type: object properties: success: type: boolean data: type: object properties: message_id: type: string gherkin_tests: - scenario: "缺少 access_token" given: '{"to":"test@example.com","subject":"test","body":"hello"}' then_contains: '{"success":false' - scenario: "缺少 to" given: '{"subject":"test","body":"hello","access_token":"token"}' then_contains: '{"success":false' tags: [integration, google, gmail, email, oauth] description: "透過 Gmail API 發送 Email。透過 host function 呼叫,需要 Google OAuth access_token。" credentials_required: - key: gmail_token type: google_oauth description: "Google OAuth access token(gmail.send scope)" inject_as: access_token config_example: | send_email: # 節點名稱(可自訂) to: "" # 收件人 Email(必填) subject: "" # 主旨(必填) body: "" # 內文(必填) # access_token 由 credentials.yaml 的 gmail_token 自動注入