You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用MS Graph API复制Microsoft Form并获取其链接

通过Microsoft Graph复制Microsoft Form并获取链接的实现方案

可行,以下是具体实现步骤和注意事项:

一、权限配置

  • 需申请Forms.ReadWrite.All(表单专属权限)或Sites.ReadWrite.All(若表单关联OneDrive/SharePoint)权限:
    • 后台服务场景:选择应用权限,需管理员同意授权;
    • 用户交互场景:选择委派权限,用户需拥有原表单的编辑权限。

二、复制表单核心流程

1. 获取原表单的完整结构

调用Graph API获取目标表单的标题、问题列表、描述等核心数据:

GET https://graph.microsoft.com/v1.0/forms/{form-id}

响应中displayName、description、questions字段是复制的关键内容。

2. 创建新表单

调用创建表单接口,将原表单的核心数据传入请求体,生成新表单:

POST https://graph.microsoft.com/v1.0/forms
Content-Type: application/json

{
  "displayName": "复制的[原表单标题]",
  "description": "[原表单描述]",
  "questions": [
    // 直接复用原表单返回的questions数组内容
  ]
}

3. 配置表单设置(可选)

若需同步原表单的响应收集规则(如是否允许重复提交、通知设置),可调用补丁接口修改新表单设置:

PATCH https://graph.microsoft.com/v1.0/forms/{new-form-id}/settings
Content-Type: application/json

{
  "isAcceptingResponses": true,
  "allowMultipleResponses": false
  // 其他需同步的设置项
}

三、获取新表单访问链接

新表单创建成功后,接口响应体中的webUrl字段即为表单的公开访问链接;也可通过再次查询新表单详情获取该字段:

GET https://graph.microsoft.com/v1.0/forms/{new-form-id}

四、注意事项

  • 当前Graph API的Forms端点仅支持复制表单的核心结构(标题、问题、基础设置),暂不支持复制已提交的响应数据、自定义主题样式等内容;
  • 复制questions数组时需严格遵循Graph API的问题格式,避免格式错误导致创建失败;
  • 测试阶段建议先用个人账号+委派权限验证流程,再切换到生产环境的应用权限。

内容的提问来源于stack exchange,提问作者Vladimir Pasev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 00:45:08