我已使用OAuth成功连接到Microsoft Graph。我可以从Office365帐户接收和发送电子邮件。
但我完全坚持如何自动接收电子邮件,类似于IMAP IDLE例程。
我正在引用
using Microsoft.Graph;
using Microsoft.Toolkit.Services.MicrosoftGraph;
我尝试过订阅,但不知道接下来要做什么,或者即使这是正确的。
Subscription sub = new Subscription {
ChangeType = "created",
NotificationUrl = "urn:ietf:wg:oauth:2.0:oob",
Resource = "/users/me/messages",
ExpirationDateTime = DateTimeOffset.Now.AddMinutes(20),
ClientState = "????" // if applicable, what is this
};
答案 0 :(得分:4)
要进行订阅,您需要使用https公开通知网址(请参阅graph documentation)。
POST https://graph.microsoft.com/v1.0/subscriptions Content-Type: application/json { "changeType": "created,updated", "notificationUrl": > "https://webhook.azurewebsites.net/notificationClient", "resource": "/me/mailfolders('inbox')/messages", "expirationDateTime": "2016-03-20T11:00:00.0000000Z", "clientState": "SecretClientState" }
如果您想要示例graph documentation引用Node.js和asp.net示例。两者都使用ngrok来公开https URL(仅用于测试目的)。程序将HTTP请求隧道传送到您的localhost(如反向代理)。如果您有此设置,则必须验证您的请求。当您发送订阅请求时,通知URL将收到的第一条发布消息是带有验证令牌的消息(请参阅doc)。您必须重新发送此验证令牌。现在,您应该会收到有关指定通知网址的通知。
您可以在graph documentation中了解订阅资源类型及其属性。 例如,客户端状态描述为:
指定服务在每个通知中发送的
clientState
属性的值。最大长度为255个字符。 客户端可以通过将通过订阅发送的clientState
属性的值与每个通知收到的clientState
属性的值进行比较来检查通知来自服务。
答案 1 :(得分:0)
此时无法使用Microsoft Graph for UWP进行订阅,对于应使用Outlook 365 API的通知。 Microsoft图形api可用于Auth和其他任务。
Microsoft可以考虑在Microsoft Graph中包含流式传输通知吗?