我目前正在订阅日历活动:
var request = graphClient.Subscriptions.Request();
var result = await request.AddAsync(
new Subscription {
ChangeType = "created,updated,deleted",
NotificationUrl = notificationUrl,
Resource = "/users/" + userId + "/" + resource,
ExpirationDateTime = DateTimeOffset.UtcNow.AddMinutes(4230),
ClientState = "my-subscription-identifier"
}
);
可以声明 a ClientState,因此当收到通知时,我可以通过将ClientState与创建订阅请求中发送的状态进行比较来处理它?
在我发送订阅请求后,服务器向我发送了一条验证消息。我缺少的是ClientState来自 Microsoft Graph 的验证请求。
在更改通知下的文档中,请求的描述如下:
POST https://{notificationUrl}?validationToken={TokenDefinedByMicrosoftGraph}
ClientState: {Data sent in ClientState value in subscription request (if any)}
不幸的是,我无法在验证请求(或任何其他部分)的正文中找到客户端状态。
客户状态声明是否正确?
如果是,为什么ClientState不在文档中描述的验证请求中(因为出于安全原因它看起来很重要)?
慕尼黑5688855
相关分类