"Resource not found for the segment" 使用 Graph 订阅测试版
"Resource not found for the segment" using Graph subscription beta
我正在使用 Microsoft Graph 获取具有应用程序权限的日历事件。它工作得很好。现在我正在尝试设置一个订阅来监听事件变化,但是普通的 v1.0 不支持这个。但是测试版,至少在描述中,说它有效。
来自页面:https://graph.microsoft.io/en-us/docs/api-reference/beta/api/subscription_post_subscriptions
"Note: the /beta endpoint allows Application permissions as a preview feature for most resources."
所以我用 URL 尝试了这个:
https://graph.microsoft.com/beta/subscriptions
像这样发送 json 对象:
{
"changeType":"created,updated,deleted",
"notificationUrl":"https%3A%2F%2FXXX.com%2Fo365.php",
"resource":"%2Fusers%2Fooom%40xxx.com%2Fevents",
"clientState":"1486588355561",
"expirationDateTime":"2018-11-20T18:23:45.9356913Z"
}
这样做我得到了结果:
{
"error": {
"code": "BadRequest",
"message": "Resource not found for the segment '/users/room@xxx.com/events'.",
"innerError": {
"request-id": "d9ca58b1-ee1f-4072-81d5-0f1a25dcdd45",
"date": "2017-02-08T21:26:51"
}
}
}
我已经尝试了资源中所有类型的组合,但无法正常工作。
有人知道如何做到这一点吗?
json 属性的值不需要 url 编码。该资源也不需要 "users" 前面的“/”(尽管这不是导致您出现问题的原因)。
尝试将您的 JSON 更改为:
{
"changeType":"created,updated,deleted",
"notificationUrl":"https://myurl.com/o365.php",
"resource":"users/person@myemail.com/events",
"clientState":"1486588355561",
"expirationDateTime":"2018-11-20T18:23:45.9356913Z"
}
如果这不能解决问题,请随时回复。
我正在使用 Microsoft Graph 获取具有应用程序权限的日历事件。它工作得很好。现在我正在尝试设置一个订阅来监听事件变化,但是普通的 v1.0 不支持这个。但是测试版,至少在描述中,说它有效。
来自页面:https://graph.microsoft.io/en-us/docs/api-reference/beta/api/subscription_post_subscriptions
"Note: the /beta endpoint allows Application permissions as a preview feature for most resources."
所以我用 URL 尝试了这个: https://graph.microsoft.com/beta/subscriptions
像这样发送 json 对象:
{ "changeType":"created,updated,deleted", "notificationUrl":"https%3A%2F%2FXXX.com%2Fo365.php", "resource":"%2Fusers%2Fooom%40xxx.com%2Fevents", "clientState":"1486588355561", "expirationDateTime":"2018-11-20T18:23:45.9356913Z" }
这样做我得到了结果:
{ "error": { "code": "BadRequest", "message": "Resource not found for the segment '/users/room@xxx.com/events'.", "innerError": { "request-id": "d9ca58b1-ee1f-4072-81d5-0f1a25dcdd45", "date": "2017-02-08T21:26:51" } } }
我已经尝试了资源中所有类型的组合,但无法正常工作。 有人知道如何做到这一点吗?
json 属性的值不需要 url 编码。该资源也不需要 "users" 前面的“/”(尽管这不是导致您出现问题的原因)。
尝试将您的 JSON 更改为:
{ "changeType":"created,updated,deleted", "notificationUrl":"https://myurl.com/o365.php", "resource":"users/person@myemail.com/events", "clientState":"1486588355561", "expirationDateTime":"2018-11-20T18:23:45.9356913Z" }
如果这不能解决问题,请随时回复。