Azure Logic Apps:HTTP PUT更新O365用户头像遇请求头错误
解决Azure Logic Apps更新O365用户头像的HTTP PUT错误
核心问题分析
报错Write requests (excluding DELETE) must contain the Content-Type header declaration.的直接原因是HTTP PUT请求缺少Content-Type请求头,同时从SharePoint获取的文件内容大概率是Base64编码格式,需要转换为二进制才能正确传递。
具体修复步骤
添加Content-Type请求头
在HTTP动作的Headers区域新增一行:- 键:
Content-Type - 值:根据图片实际类型填写,比如
image/png或image/jpeg。如果不确定类型,可以从SharePoint获取文件的动作中,直接提取File Content Type字段的值复用。
- 键:
转换文件内容为二进制格式
将HTTP动作Body中的File Content替换为Logic Apps内置函数base64ToBinary(),示例代码:base64ToBinary(body('获取SharePoint文件内容')?['$content'])注意把
获取SharePoint文件内容替换成你实际使用的获取文件动作的名称。
验证要点
- 确认
Content-Type值与图片格式完全匹配 - 检查
base64ToBinary()函数是否正确指向了SharePoint返回的编码内容 - 可以先用Postman等工具验证请求格式正确性,再同步到Logic Apps中
内容的提问来源于stack exchange,提问作者Corey
相关产品推荐
相关产品推荐

