Typeform

Polar Sponsor
爱发电 赞助
.NET 9.0

使用托管OAuth集成Typeform API,创建表单、管理回复并获取洞察。用户想与Typeform交互时使用此技能。

Typeform

功能概述

Typeform是一项面向实际任务的技能,主要用于使用管理的 OAuth 认证访问 Typeform API... 创建和管理表格,检索回复,并访问真知灼见.;QQQS快速启动.;

核心要点

  • Base URL.;
  • Maton proxios request to api.typeform.c。
  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

使用与执行

使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。

结果检查与注意事项

执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

Typeform

通过受管 OAuth 认证访问 Typeform API。创建和管理表单、获取响应数据,并访问洞察分析。

快速开始

# 列出表单
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://api.maton.ai/typeform/forms?page_size=10')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF

基础 URL

https://api.maton.ai/typeform/{native-api-path}

Maton 将请求代理至 api.typeform.com,并自动注入您的 OAuth Token。

认证

所有请求均需在 Authorization 请求头中提供 Maton API 密钥:

Authorization: Bearer $MATON_API_KEY

环境变量:请将您的 API 密钥设为 MATON_API_KEY:

export MATON_API_KEY="YOUR_API_KEY"

获取您的 API 密钥

  1. 在 maton.ai 登录或注册账户
  2. 访问 maton.ai/settings
  3. 复制您的 API 密钥

连接管理

您可在 https://api.maton.ai 管理 Typeform 的 OAuth 连接。

列出连接

python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://api.maton.ai/connections?app=typeform&status=ACTIVE')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF

创建连接

python <<'EOF'
import urllib.request, os, json
data = json.dumps({'app': 'typeform'}).encode()
req = urllib.request.Request('https://api.maton.ai/connections', data=data, method='POST')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
req.add_header('Content-Type', 'application/json')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF

获取连接

python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://api.maton.ai/connections/{connection_id}')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF

响应示例:

{
  "connection": {
    "connection_id": "{connection_id}",
    "status": "ACTIVE",
    "creation_time": "2025-12-08T07:20:53.488460Z",
    "last_updated_time": "2026-01-31T20:03:32.593153Z",
    "url": "https://connect.maton.ai/?session_token=...",
    "app": "typeform",
    "metadata": {}
  }
}

在浏览器中打开返回的 url,完成 OAuth 授权流程。

删除连接

python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://api.maton.ai/connections/{connection_id}', method='DELETE')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF

指定连接

若您拥有多个 Typeform 连接,请使用 Maton-Connection 请求头明确指定目标连接:

python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://api.maton.ai/typeform/forms?page_size=10')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
req.add_header('Maton-Connection', '{connection_id}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF

当存在多个连接时,务必始终包含该请求头,以确保请求被路由至预期账户。

安全与权限

  • 访问范围限定于已连接的 Typeform 账户内的表单、响应、主题及工作区(workspace)。
  • 所有写操作均需用户显式授权。 在执行任何创建、更新或删除调用前,须向用户确认目标资源及其预期影响。

API 参考

用户

GET /typeform/me

表单

列出表单

GET /typeform/forms?page_size=10

获取表单

GET /typeform/forms/{formId}

创建表单

POST /typeform/forms
Content-Type: application/json

{
  "title": "Customer Survey",
  "fields": [
    {"type": "short_text", "title": "What is your name?"},
    {"type": "email", "title": "What is your email?"}
  ]
}

更新表单

PUT /typeform/forms/{formId}
Content-Type: application/json

{
  "title": "Updated Survey Title",
  "fields": [...]
}

删除表单

DELETE /typeform/forms/{formId}

响应

列出响应

GET /typeform/forms/{formId}/responses?page_size=25

带过滤条件:

GET /typeform/forms/{formId}/responses?since=2024-01-01T00:00:00Z&until=2024-12-31T23:59:59Z&completed=true

洞察分析

GET /typeform/insights/{formId}/summary

工作区

GET /typeform/workspaces
GET /typeform/workspaces/{workspaceId}

字段类型

  • short_text — 单行文本
  • long_text — 多行文本
  • email — 邮箱地址
  • number — 数值输入
  • rating — 星级评分
  • opinion_scale — 0–10 分量表
  • multiple_choice — 单选或多选
  • yes_no — 布尔值
  • date — 日期选择器
  • dropdown — 下拉选择

代码示例

JavaScript

const response = await fetch(
  'https://api.maton.ai/typeform/forms?page_size=10',
  {
    headers: {
      'Authorization': `Bearer ${process.env.MATON_API_KEY}`
    }
  }
);

Python

import os
import requests

response = requests.get(
    'https://api.maton.ai/typeform/forms',
    headers={'Authorization': f'Bearer {os.environ["MATON_API_KEY"]}'},
    params={'page_size': 10}
)

注意事项

  • 表单 ID 为字母数字字符串
  • 响应分页使用 before Token
  • 时间戳采用 ISO 8601 格式
  • DELETE 操作返回 HTTP 204
  • 重要:使用 curl 命令时,若 URL 中包含方括号(如 fields[]、sort[]、records[]),请添加 curl -g 参数以禁用 glob 解析
  • 重要:将 curl 输出管道传递给 jq 或其他命令时,在某些 Shell 环境中,$MATON_API_KEY 等环境变量可能无法正确展开,导致出现“Invalid API key”错误

错误处理

状态码 含义
400 缺少 Typeform 连接
401 Maton API 密钥无效或缺失
429 请求频率受限(每账户 10 次/秒)
4xx/5xx 来自 Typeform API 的透传错误

故障排查:API 密钥问题

  1. 确认已设置 MATON_API_KEY 环境变量:
echo $MATON_API_KEY
  1. 通过列出连接验证 API 密钥是否有效:
python <<'EOF'
import urllib.request, os, json
req = urllib.request.Request('https://api.maton.ai/connections')
req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}')
print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2))
EOF

故障排查:应用名称无效

  1. 确保您的 URL 路径以 typeform 开头。例如:
  • 正确:https://api.maton.ai/typeform/forms
  • 错误:https://api.maton.ai/forms

资源

  • Typeform API 概览
  • 表单
  • 响应
  • 工作区
  • Maton 社区
  • Maton 支持

相关专题

更多
Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

2026.10.28

0

16

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

2026.10.28

0

15

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

2026.10.28

0

10

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

0

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

0

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

0

15

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

2026.10.22

0

10

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

2026.10.22

0

25

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

2026.10.22

0

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习