使用HTTP请求向SharePoint列表插入图片时遇报错求助
问题分析
你遇到的核心问题是给Image列传递了错误格式的值:
- 最初的
__metadata和外层type字段是旧版SharePoint REST API的冗余参数,现代API不需要,移除是正确的操作。 - 最后报错提示“期望PrimitiveValue节点”,说明你的Image列需要字符串类型值,而非你传入的对象结构。
正确的JSON格式
根据你的Image列类型,选择对应格式:
情况1:现代列表的「图片」类型字段
直接传入图片的服务器相对URL即可:
{ "Title": "TEST", "Image": "/sites/xxx/ImageTest/Images/TEST.png" }
情况2:经典的「超链接或图片」类型字段
需要传入"完整URL,图片描述"格式的字符串(描述可省略,留空则默认显示URL):
{ "Title": "TEST", "Image": "https://xxx.sharepoint.com/sites/xxx/ImageTest/Images/TEST.png,TEST.png" }
额外注意事项
- 确认字段内部名称:前往列表设置→点击Image列,查看URL中
Field=后的参数,确保JSON中使用的字段名和内部名称完全一致(比如如果内部名称是Image0,就要写"Image0": "...")。 - 若使用Flow的「发送HTTP请求到SharePoint」动作,确保API版本为
v1.0或v2.0(现代API),请求方法为POST(创建项)或PATCH(更新项),且请求头包含Content-Type: application/json;odata=nometadata,避免元数据相关报错。
按上述设置后,图片就能正确存入列表,且可在Power Apps中正常显示使用。
内容的提问来源于stack exchange,提问作者Nick
相关产品推荐
相关产品推荐

