json - 创建本地邮箱订阅时出现“状态代码:未找到;原因:未找到”
问题描述
我们有一个混合 Exchange 部署。尝试创建订阅以获取日历和联系人上的更新、创建、删除。
在 Graph Explorer 中,我以 Office 365 用户身份登录,该用户对我尝试访问的本地邮箱具有完全访问权限 ( user@domain.com
)。我正在输入:
POST | v1.0 | https://graph.microsoft.com/v1.0/subscriptions
请求正文:
{
"changeType": "updated",
"notificationUrl": "https://our.URL/WebHooks/Graph/GraphMessagesHook.php",
"resource": "users/user@domain.com/contacts",
"expirationDateTime": "2018-10-23T04:00:00Z",
"clientState": "secret"
}
回应是:
{
"error": {
"code": "ExtensionError",
"message": "Operation: Create; Exception: [Status Code: NotFound; Reason: Not Found]",
"innerError": {
"request-id": "981c0892-e6d8-490b-838d-880d8268037f",
"date": "2018-10-20T20:32:07"
}
}
}
作为测试,我在 Office 365 中创建了另一个用户并执行了相同的请求正文:
{
"changeType": "updated",
"notificationUrl": "https://our.URL/WebHooks/Graph/GraphMessagesHook.php",
"resource": "users/userOn365@domain.com/contacts",
"expirationDateTime": "2018-10-23T04:00:00Z",
"clientState": "secret"
}
这次不是 a 404 NotFound
,而是 a 403
:
{
"error": {
"code": "ExtensionError",
"message": "Operation: Create; Exception: [Status Code: Forbidden; Reason: Forbidden]",
"innerError": {
"request-id": "1f378cf0-b1ec-4b87-ba03-8dee120b748b",
"date": "2018-10-21T20:42:46"
}
}
}
我错过了什么?
解决方案
用于本地邮箱的 Microsoft Graph API 只是云功能的一个子集。
不要认为他们为本地邮箱实现了订阅。这对双方来说都是相当资源密集型的。
据我所知,他们只是将请求代理到您的本地 Exchange(配置为接受 Azure 令牌)。对于简单的休息呼叫,对于订阅,路由将是困难的。
推荐阅读
- firebase - Flutter firebase 触发邮件实现
- json - 使用 Python 读取 JSON 文件 - JSONDecodeError 额外数据
- c++ - 如果我在单独的文件中定义它,g++ 无法链接我的类函数
- python - 将大量 DataFrame 的多列与复杂的重复行进行比较
- python - 如何更改条形图 x 轴上的值?
- docker - 推送 docker 映像期间的 Github 操作错误
- ios - SwiftUI - 如何为 VoiceOver 添加属性可访问性标签,以控制口语音调?
- ruby-on-rails - 如何使用设计邀请重新向用户发送邀请?
- android - 如何恢复 Android webview 透明度设置?
- android - AWS S3 同步存储桶向文件名添加随机扩展名