我尝试使用Outlook REST API从Outlook获取事件列表。
据微软首先文档;我需要订阅前景
端点为:https://outlook.office.com/api/v2.0/me/subscriptions
需要更改事件时发送通知的NotificationURL参数。
我应该实现一个REST API(用于NotificationURL)以将Outlook作为参数传递,但是我找不到任何文档。
哪些参数应该获取我的REST端点或它的类型(发布,获取,放置等...)
感谢您的帮助
谢谢!
与Outlook API交谈的我的REST API规范
答案 0 :(得分:0)
如果您希望获得事件列表,则完全不需要使用订阅。只需使用here中所述的过程即可。
答案 1 :(得分:0)
Microsoft已将Outlook事件的推送通知api又称为webhook。为此,您需要先注册(创建资源订阅)Webhook。 请查看下面的代码段,当在通知URL上创建或更新任何事件时,该代码段可发送通知。 此处的文档https://docs.microsoft.com/en-us/graph/webhooks#notification-endpoint-validation
POST https://graph.microsoft.com/v1.0/subscriptions
Content-type: application/json
{
"changeType": "created,updated",
"notificationUrl": "<YOUR-notification api endpoint>/api/notify",
"resource": "me/events",
"expirationDateTime":"2019-03-3T18:23:45.9356913Z",
"clientState": "myOutlookEvents"
}
您可以使用clientState验证来自MS Graph的终结点请求。
MS将以以下格式发布数据
{
"value": [
{
"subscriptionId":"<subscription_guid>",
"subscriptionExpirationDateTime":2019-03-3T18:23:45.9356913Z",
"clientState": "myOutlookEvents",
"changeType":"created",
"resource":"users/{user_guid}@<tenant_guid>/event/{long_id_string}",
"resourceData":
{
"@odata.type":"#Microsoft.Graph.Event",
"@odata.id":"Users/{user_guid}@<tenant_guid>/event/{long_id_string}",
"@odata.etag":"W/\"CQAAABYAAADkrWGo7bouTKlsgTZMr9KwAAAUWRHf\"",
"id":"<long_id_string>"
}
}
]
}
此后,您需要从从图api接收到的ID中获取事件