如何通过SharePoint REST API创建含多所有者的SharePoint站点?
错误原因
SharePoint REST API创建站点时,Owner字段仅支持单个用户的登录名字符串(PrimitiveValue类型),直接传入数组会触发JSON解析错误,也就是你遇到的"An unexpected 'StartArray' node was found..."提示。
两种可行的解决方法
方法1:使用复数形式的Owners字段(推荐)
API支持通过Owners字段接收用户登录名的数组,替换请求体中的Owner为Owners即可,示例请求体如下:
{ "Title": "目标站点名称", "Url": "/sites/目标站点路径", "Template": "STS#3", "Owners": ["user1@yourdomain.com", "user2@yourdomain.com"] }
方法2:逗号分隔多个用户登录名(兼容旧场景)
如果因特殊需求必须使用Owner字段,可以将多个用户登录名用逗号拼接成单个字符串传入,而非数组:
{ "Title": "目标站点名称", "Url": "/sites/目标站点路径", "Template": "STS#3", "Owner": "user1@yourdomain.com,user2@yourdomain.com" }
额外注意事项
- 确保传入的用户登录名是有效的UPN格式(如
xxx@domain.com) - 执行请求的账号需要具备创建站点以及管理站点权限的权限
- Power Automate中请求方法需设为
POST,Uri使用现代站点创建端点/_api/SPSiteManager/create - 请求头需设置
Content-Type为application/json或application/json;odata=verbose,适配API版本要求
内容的提问来源于stack exchange,提问作者aadogy
相关产品推荐
相关产品推荐

