canonical_id: "google_sheets" display_name: "Google 試算表" 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: [spreadsheet_id, range, access_token] properties: spreadsheet_id: type: string range: type: string description: 如 Sheet1!A1:B10 action: type: string enum: [read, write] default: read values: type: array description: write 時的資料(二維陣列) access_token: type: string description: Google OAuth access token output_schema: type: object properties: success: type: boolean data: type: object properties: values: {} range: type: string gherkin_tests: - scenario: "缺少 access_token" given: '{"spreadsheet_id":"abc","range":"Sheet1!A1"}' then_contains: '{"success":false' - scenario: "缺少 spreadsheet_id" given: '{"range":"Sheet1!A1","access_token":"token"}' then_contains: '{"success":false' tags: [integration, google, sheets, oauth] description: "讀取或寫入 Google 試算表。透過 host function 呼叫 Google Sheets API,需要 OAuth access_token。" credentials_required: - key: google_oauth type: google_oauth description: "Google OAuth access token(spreadsheets scope)" inject_as: access_token config_example: | read_sheet: # 節點名稱(可自訂) spreadsheet_id: "" # 試算表 ID(必填) range: "" # 範圍,如 Sheet1!A1:B10(必填) # access_token 由 credentials.yaml 的 google_oauth 自動注入