调用Microsoft Graph API添加SharePoint列表项时null字符串触发异常
问题场景
一直通过POST请求调用Microsoft Graph API端点 https://graph.microsoft.com/v1.0/sites/[site-id]/lists/[list-id]/items 向SharePoint列表添加项,原请求体如下:
{ "fields": { "Title": "12345", "Description": null } }
其中Description是列表的非必填单行文本字段,此前请求一直正常,但近期突然抛出以下异常:
{ "error": { "code": "generalException", "message": "General exception while processing", "innerError": { "date": "2023-05-14T01:09:51", "request-id": "f3b94466-e172-49de-8138-c11e0e20e253", "client-request-id": "f3b94466-e172-49de-8138-c11e0e20e253" } } }
将Description的值改为空字符串""后,请求恢复正常。
可能的原因
- Graph API后端逻辑更新:微软近期可能对文本字段的null值处理逻辑进行了调整,原本允许非必填字段传入null,现在要求非必填文本字段若不填,要么传入空字符串,要么直接省略该字段。
- SharePoint字段验证规则变更:尽管字段标记为非必填,但后台的验证规则可能被隐性更新,不再接受null作为有效值,仅认可空字符串表示“无内容”。
- API稳定版的兼容微调:即使使用v1.0稳定版,微软也可能在不修改版本号的前提下,对接口参数处理逻辑进行小范围调整,以规范参数格式。
建议处理方式
- 对于非必填文本字段,若无需赋值,优先选择直接省略该字段;若需要明确表示空内容,传入空字符串
""替代null。 - 后续调用Graph API时,尽量严格遵循官方文档对字段值的格式要求,避免依赖原本的宽松处理逻辑。
内容的提问来源于stack exchange,提问作者AJ_
相关产品推荐
相关产品推荐

