尝试订阅 Outlook 事件时出现 HTTP 响应 401 - Java

Posted

技术标签:

【中文标题】尝试订阅 Outlook 事件时出现 HTTP 响应 401 - Java【英文标题】:HTTP Response 401 while trying to subscribe Outlook Events - Java 【发布时间】:2018-05-03 11:15:13 【问题描述】:

我正在使用 Outlook Rest API 订阅事件。但是,尽管我包含访问令牌,但我收到错误代码 401。我在https://docs.microsoft.com/en-us/outlook/rest/java-tutorial 本教程之后获得了访问令牌。我的有效载荷如下:

"@odata.type":"#Microsoft.OutlookServices.PushSubscription",

"资源":"https://outlook.office.com/api/v2.0/me/events",

“通知网址”:网址,

"ChangeType":"已创建"

带有标题:

授权:我从教程中获得的不记名 + 访问令牌。 (即EwBAA8l6BAAURSN / FHlDW5xN74t6GzbtsBBeBUYAAeybQmu + RnQcYAQ3wTW3kJUclA03jKgc4Sdx2mp5SOlLswSAr9zTmO7qk33wpTD3ULZkUrl9IpTnnhtjeoSXt + z5GRRtmL40jyvAghrTseO8yEZtR04SLjl6i1KZNXxZwUTK8s6DkXESwkwaTmQKPckKHi9XeIbx8dolnT7vEeeUo5rmzcG251dQokfZYHCar3bd1bysV7oaTt5Iis6qgkYtg4BL / 32QObgI8SHQS4my7FSsqLYFchYExEFeBXgUjt4yE0G0bbmykz3T5C713DAqo8BtCkkbRIckv6N4bpq84bpzaDAgdgHhnpcYzUaViJ2zhZXMrShUdpddug + DPkEDZgAACILe9sz + 3mX7EAJrVvnkVpyZzC9WvQkY4xET3KdEstT .....像这样) P>

内容类型:应用程序/json

为什么我会得到 401?

谢谢。

【问题讨论】:

【参考方案1】:

401 表示您的令牌对于您正在尝试执行的操作无效。它可能已过期、无效等。通常,响应正文会提供有关 401 原因的更多详细信息。

我建议去https://oauthplay.azurewebsites.net/ 并在那里使用通知 API 看看它是如何工作的。

【讨论】:

正文显示未经授权。我不明白为什么令牌无效,因为我一登录就尝试订阅。令牌已经有 3 或 4 分钟了。 我想我刚刚找到了问题所在。我正在使用图形 API 登录,并使用 Outlook API 注册推送通知。但是,当我现在将其更改为图形 url 时,我收到了错误的请求。 是的,那会是个问题。 Graph 的有效载荷略有不同,请参阅developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/…

以上是关于尝试订阅 Outlook 事件时出现 HTTP 响应 401 - Java的主要内容,如果未能解决你的问题,请参考以下文章

使用 MAPI 和 Outlook 发送 HTML 邮件时出现问题

尝试防止订阅两次时出现 ObjectUnsubscribedError

Python Post 请求 - 通过 Outlook API 发送文件时出现 415 错误

创建订阅时出现“CKSubscriptionTypeRecordZone 订阅与订阅选项 7 不兼容”

从 Java 应用程序调用 https://outlook.office365.com/EWS/Exchange.asmx 时出现随机 SSLHandshakeException

创建对 URL 端点的订阅时出现“pubsub 错误 INVALID_ARGUMENT”