【问题标题】:Outlook Add-in Can't Find Message in ClientOutlook 加载项在客户端中找不到邮件
【发布时间】:2017-01-11 09:01:51
【问题描述】:

在我们的 Outlook 桌面插件中,一旦我们收到 Microsoft Graph API 的令牌,我们就会调用以从以下端点检索用户的电子邮件:https://graph.microsoft.com/v1.0/me/Messages/[message_id]

此对 Graph API 的调用来自我们的服务器,因此加载项 UI 是在浏览器中还是在 Outlook 客户端中运行并不重要。但是,我们看到 - 有时 - 当从 Outlook 客户端运行时,来自我们服务器的消息请求得到 404 响应。

我已捕获来自 Web 浏览器加载项和 Outlook 客户端加载项的两个请求的 url 和令牌,并手动测试了每个请求。两个 api URL 相同,并且当我使用 Postman 手动尝试生成的两个令牌(一个来自 OWA 插件,另一个来自 Outlook 客户端插件)时,它们都可以成功运行。

任何想法为什么来自 Outlook 客户端加载项的请求失败而基于 Web 的加载项请求成功?

【问题讨论】:

    标签: outlook-addin microsoft-graph-api


    【解决方案1】:

    stmcallister--我想重申一下我对您的流程的理解。在您的问题中,您提到您对 Microsoft Graph 的调用来自您的服务。我是否正确假设您的加载项正在为您的服务的应用程序 ID 呈现 OAuth 流,代表它收集令牌,然后通过 API 调用将令牌流回服务?您是否将 Id、Access 或 Refresh Token 流向您的服务?

    如果是这种情况,那么正如您所说,您的加载项在运行时托管在哪里肯定无关紧要。但是,您的令牌(特别是他们的声明)可能会根据原始登录上下文(浏览器与 Office)略有不同。

    在任何一种情况下,如果存在令牌问题,404 都是不幸的响应。如果您可以提供有关问题请求的更多详细信息,那么我们可以进行调查。

    谢谢, -蒂姆麦克

    【讨论】:

    • 感谢您的帮助!我们的加载项让用户使用 Microsoft Graph 启动 OAuth 流。然后,当收到身份验证令牌时,我们使用该令牌调用上述问题中列出的 Graph 端点。在某些 Outlook 客户端中,此获取消息的请求会收到 404 响应。在浏览器中,此流程始终有效。很高兴分享其他细节。关于请求,您还想了解什么?
    • 谢谢——您收到的身份验证令牌是访问令牌、ID 令牌还是刷新令牌?我猜它是一个访问令牌,并且您正在对 .../messages/... 进行后续 REST 调用,并将其作为请求标头中的承载令牌。 Outlook API 正在向您的加载项提供 messageId,并且您已确认在两个客户端中正确提供了 Id?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-24
    • 2021-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-24
    相关资源
    最近更新 更多