我未能为我的个人驱动器文档文件夹(非商业帐户)添加新的订阅webhook网址。请求响应详细信息如下。
网址 https://graph.microsoft.com/v1.0/subscriptions
尝试1
Request JSON:
{
"notificationUrl": "https://****.rest/OneDrive/newItemWebhook",
"expirationDateTime": "2017-09-18T11:23:00.000Z",
"resource": "/me/drive/root/Documents",
"changeType": "updated",
"clientState": "client-specific string"
}
Response JSON:
{
"error": {
"code": "BadRequest",
"message": "Unsupported segment type. ODataQuery:
users/****@outlook.com/drive/root/Documents",
"innerError": {
"request-id": "169755ee-bdf5-460e-8577-6f1e22777207",
"date": "2017-09-18T10:46:07"
}
}
}
尝试2
Request JSON:
{
"notificationUrl": "https://****.rest/OneDrive/newItemWebhook",
"expirationDateTime": "2017-09-18T11:23:00.000Z",
"resource": "/me/drive/root:/Documents",
"changeType": "updated",
"clientState": "client-specific string"
}
Response JSON:
{
"error": {
"code": "InvalidRequest",
"message": "resource '/me/drive/root:/Documents' is not supported.",
"innerError": {
"request-id": "403229b0-0554-46c2-82b8-ede69a4ef9a2",
"date": "2017-09-18T10:50:36"
}
}
}
在这两种情况下,无法添加订阅webhook URL的情况,但我不知道的原因,意味着:
不支持的细分类型。 ODataQuery
资源'/ me / drive / root:/ Documents'不受支持。
然后如果我想为上面提到的“资源”设置webhook URL,那么我的案例的路径是什么!
答案 0 :(得分:0)
显然,您不能订阅特定文件夹中的更改,而是订阅驱动器,因此您应订阅/me/drive/root
。然后你可以使用driveitem delta api来跟踪变化:https://docs.microsoft.com/en-gb/onedrive/developer/rest-api/api/driveitem_delta或使用你自己的方法(即Documents文件夹中的列表文件)
这是一个有点过时的视频,解释了这个过程:https://channel9.msdn.com/Events/Build/2016/P566