问题描述
我正在尝试使用以下信息,使用Autodesk Forge API创建一个Webhook over文件夹;不幸的是,我收到以下答复:
{
"id":"xxxx-xxxx-xxx-xxxxx","status":400,"code":"VALIDATION_ERROR","detail":["Payload is not valid for serialization"]
}
URL : https://developer.api.autodesk.com/webhooks/v1/systems/data/events/dm.folder.added/hooks(用于添加特定文件夹的事件)或:https://developer.api.autodesk.com/webhooks/v1/systems/data/hooks(用于所有事件)。两者都返回相同的错误
标题:
{
"Content-Type":"application/json","Authorization":"<MY_TOKEN>","x-ads-region":"US"
}
数据:
{
"callbackUrl":"<MY_DOMAIN>:<MY_PORT>/callback","scope":{
"folder":"urn:adsk.wipprod:fs.folder:co.xxxxxxxxxxxx-xxxxx"
}
}
故障排除:
- 我尝试了不同的文件夹(根目录和非根目录)。我可以使用api访问我尝试过的所有文件夹
- 我确定我的帐户是美国地区
- 我尝试添加hubId和/或projectId,但是收到相同的错误
-
: /回调已配置且可以正常运行 - Header和Data通常使用json加载和转储进行序列化和反序列化
有什么建议/帮助吗?
解决方法
回答自己:)
我发现我的问题与Forge API没有关系,这是与python Requests有关的一般问题。请求的有效负载(数据)不能为嵌套字典,仅接受1级字典,嵌套的将失败。解决方案是对字典(json.dumps)进行字符串化,然后将该字符串用作请求有效负载。