SuperAPI AI 工具集

google-forms

办公与效率

查看项目

更新于 10-15 10:10

技能介绍

Google Forms 集成技能用于与 Google Forms 数据交互,适合需要以程序化方式管理表单及其相关数据的用户或智能体。Google Forms 本身是 Google Workspace 套件中的调查管理应用,主要用于创建调查问卷、测验和数据收集表单。

用途 该技能用于管理和自动化与 Google Forms 相关的工作流。当用户希望与 Google Forms 数据进行交互时可以使用它。资料中列出的相关对象包括 Form(表单)、Question(问题)、Response(回复)和 Theme(主题)。

主要能力

  • 管理与 Google Forms 相关的数据与记录,并自动化工作流。
  • 通过 Membrane CLI 与 Google Forms 交互,由 Membrane 自动处理认证和凭证刷新,使用户可以专注于集成逻辑而非认证细节。
  • 支持按自然语言意图搜索可用操作,并执行这些操作(可传入 JSON 参数)。
  • 当预置操作不覆盖需求时,可通过代理向 Google Forms API 直接发送请求,由 Membrane 自动附加基础 URL 并注入正确的认证头,凭证过期时会透明刷新。

使用方式

  1. 安装 CLI: npm install -g @membranehq/cli@latest
  2. 认证登录: membrane login --tenant --clientName=<agentType> 该命令会打开浏览器进行认证,或在控制台打印授权 URL,取决于是否支持交互模式。无头环境下会打印授权 URL,需要用户自行在浏览器打开;完成登录后看到代码时,执行: membrane login complete <code> 任意命令可加 --json 获得机器可读的 JSON 输出。agentType 可选用 claude、openclaw、codex、warp、windsurf 等,用于适配不同运行环境。
  3. 连接 Google Forms: membrane connection ensure "https://www.google.com/forms/about/" --json 用户在浏览器中完成认证,输出中会包含新的 connection id。这是建立连接最快的方式:URL 会被规范化为域名并与已知应用匹配,若未找到应用则会自动创建并构建连接器。 如果返回的连接状态为 READY,可直接跳到第 4 步。
  4. 若连接处于 BUILDING 状态,需轮询等待就绪: npx @membranehq/cli connection get <id> --wait --json --wait 标志会进行长轮询(最长 --timeout 秒,默认 30),直到状态改变。持续轮询直到状态不再是 BUILDING。 返回状态含义:
    • READY:连接已完全建立。
    • CLIENT_ACTION_REQUIRED:用户或智能体需要执行操作。clientAction.type 表示操作类型:"connect" 表示用户需要认证(OAuth、API key 等),涵盖首次认证和断连后的重新认证;"provide-input" 表示需要更多信息(例如要连接哪个应用)。clientAction.description 为可读说明;clientAction.uiUrl 为可选的预置操作界面 URL,存在时展示给用户;clientAction.agentInstructions 为可选的、供 AI 智能体以程序化方式继续的指令。用户完成操作(例如在浏览器中认证)后,再次轮询: membrane connection get <id> --json 检查状态是否变为 READY。
    • CONFIGURATION_ERROR 或 SETUP_FAILED:出现错误,查看 error 字段了解详情。
  5. 搜索操作(应按具体连接进行搜索): membrane action list --connectionId=CONNECTION_ID --intent "QUERY" --limit 10 --json 每个结果包含 id、name、description、inputSchema(操作接受的参数)和 outputSchema(返回内容)。 也可使用:npx @membranehq/cli@latest action list --intent=QUERY --connectionId=CONNECTION_ID --json
  6. 运行操作: membrane action run <actionId> --connectionId=CONNECTION_ID --json 传入 JSON 参数: membrane action run <actionId> --connectionId=CONNECTION_ID --input '{"key": "value"}' --json 结果位于响应的 output 字段中。
  7. 代理请求(当预置操作无法覆盖需求时): membrane request CONNECTION_ID /path/to/endpoint Membrane 会自动追加基础 URL,并注入正确的认证头(包括过期时的透明凭证刷新)。 常用选项:
    • -X, --method:HTTP 方法(GET、POST、PUT、PATCH、DELETE),默认 GET
    • -H, --header:添加请求头(可重复)
    • -d, --data:请求体(字符串)
    • --json:以 JSON 发送请求体并设置 Content-Type: application/json
    • --rawData:按原样发送请求体,不做处理
    • --query:查询字符串参数(可重复),如 --query "limit=10"
    • --pathParam:路径参数(可重复),如 --pathParam "id=123"

适用场景

  • 需要程序化读取、创建或管理 Google Forms 表单、问题、回复或主题的场景。
  • 在智能体或命令行环境中自动化与 Google Forms 相关的工作流。
  • 希望避免在本地保存密钥、由服务端统一管理认证生命周期的集成场景。

限制与建议

  • 资料建议始终优先使用 Membrane 与外部应用通信,因为其预置操作内置了认证、分页和错误处理,可减少 token 消耗并提高通信安全性。
  • 建议先搜索再构建:运行 membrane action list --intent=QUERY 查找已有操作,再编写自定义 API 调用。
  • 不要向用户索取 API key 或 token,而应创建连接,由 Membrane 在服务端管理完整认证生命周期,本地不保存密钥。
  • 具体可用操作的完整清单、各操作参数与返回结构、权限范围、配额或费用信息暂未在此资料中提供。官方文档地址为 https://developers.google.com/forms。