调用Graph API创建OneDrive文件夹报folder属性不符合schema错误
问题根因
报错来自请求体字段格式不符合接口Schema要求:代码中给folder字段传入的是字符串类型的"{}",但OneDrive Graph创建文件夹接口要求folder字段必须传入空对象类型,不能是JSON格式字符串。
修复方案
修改参数构造逻辑,将folder字段的赋值从字符串"{}"改为实际的空对象(空Map结构),保证参数序列化后folder对应的值是JSON对象而非字符串即可。
修正后的代码如下:
callMap = Map(); callMap.putAll({"name":"New Folder","folder":{},"@microsoft.graph.conflictBehavior":"rename"}); headerMap = Map(); headerMap.putAll({"Content-Type":"application/json"}); r = invokeurl [ url :"https://graph.microsoft.com/v1.0/me/drive/root/children" type :POST parameters:callMap.toString() headers:headerMap connection:"onedrive" ]; info r;
接口要求的标准请求体结构:
{ "name": "New Folder", "folder": {}, "@microsoft.graph.conflictBehavior": "rename" }只要序列化后的请求体里
folder是对象{}而非字符串"{}",就不会再触发该Schema匹配错误。
内容的提问来源于stack exchange,提问作者Maxima
相关产品推荐
相关产品推荐

