首页 > 解决方案 > 如何在 Android 设备上接收新 Outlook 电子邮件的推送通知?

问题描述

我正在制作一个 Android 应用程序,我希望用户在其中登录到他们的 Outlook 帐户,并在收件箱中收到电子邮件时从 Microsoft Graph API 接收到应用程序的推送通知。我怎样才能做到这一点?

我可以使用 HTTP 订阅请求(此处指定https://docs.microsoft.com/en-us/graph/webhooks?view=graph-rest-1.0)订阅收件箱更改,例如:

POST https://graph.microsoft.com/v1.0/subscriptions
Content-Type: application/json
{
  "changeType": "updated",
  "notificationUrl": 
  "https://webhook.azurewebsites.net/notificationClient",
  "resource": "/me/mailfolders('inbox')/messages",
  "expirationDateTime": "2016-03-20T11:00:00.0000000Z",
  "clientState": "SecretClientState"
}

在这个请求中,我需要指定一个通知更新发送到的“notificationUrl”——我该如何设置?Azure 上是否有此功能?

从那里我相信我可以使用此处的说明将推送通知发送到 Android 设备https://docs.microsoft.com/en-us/azure/notification-hubs/notification-hubs-android-push-notification-google- fcm-开始

这涉及在 Azure 上设置一个连接到 Firebase 的通知中心,然后 Firebase 向应用程序发送通知。这是最好/唯一的方法吗?

非常感谢任何帮助!

标签: androidazurepush-notificationoutlookmicrosoft-graph-api

解决方案


notificationUrl 可以是 azure 函数应用的 webhook url。https://azure.microsoft.com/en-us/resources/videos/create-a-web-hook-or-api-azure-function/

因此,您可以使用 azure 函数调用 Firebase API 来发送通知。

请参阅https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-notification-hubs#packages---functions-1xhttps://firebase.google.com/docs/云消息/迁移-v1

此外,我建议您使用 azure logic app。它具有内置连接器,可在邮件到达您的收件箱时使用。

看看这里 https://docs.microsoft.com/en-us/azure/connectors/connectors-create-api-office365-outlook


推荐阅读