如何通过编程方式配置Microsoft Forms下拉列表选项?
方案可行性确认与实现思路
你的方案完全可行,Microsoft Graph API确实支持以编程方式修改Microsoft Forms的下拉选项,无需依赖Power Apps/Power Pages,完全可以通过Power Automate完成自动化更新。
核心实现步骤
- 确认所需权限:需要申请
Forms.ReadWrite.All(应用权限,适合Power Automate无人值守自动化)或Forms.ReadWrite(委托权限,适合交互式场景),这两个权限都需要管理员审批。 - 获取表单结构:调用Graph API的
GET https://graph.microsoft.com/v1.0/forms/{form-id}接口,返回的JSON数据中找到目标下拉框对应的questions项,其choices数组即为当前下拉选项列表。 - 修改下拉选项:构造新的
choices数组(格式为[{"displayName": "选项1"}, {"displayName": "选项2"}]),替换原数组内容。 - 更新表单:调用Graph API的
PATCH https://graph.microsoft.com/v1.0/forms/{form-id}接口,请求体中传入包含修改后questions的JSON结构(建议仅传入变更的问题部分,减少数据量)。
Power Automate具体落地建议
- 添加「HTTP」动作,配置Azure AD身份验证(需提前在Azure AD注册应用,赋予对应Graph权限),调用上述GET接口获取表单数据。
- 用「Parse JSON」动作解析返回的JSON,方便后续操作。
- 通过「Compose」动作构造新的下拉选项数组,替换原表单数据中的对应部分。
- 再次添加「HTTP」动作,调用PATCH接口提交修改后的表单数据。
注意事项
- 确保操作的表单已授予当前应用/账号编辑权限。
- 测试阶段优先使用测试表单,避免影响生产环境。
- 不要随意修改表单的其他核心字段(如
title、id等),仅聚焦于下拉选项的choices数组修改。
内容的提问来源于stack exchange,提问作者Jonny D Burke
相关产品推荐
相关产品推荐

