【问题标题】:How to obtain Azure AD access token(to call Graph API), inside the Office 365 Outlook add-in?如何在 Office 365 Outlook 加载项中获取 Azure AD 访问令牌(以调用 Graph API)?
【发布时间】:2025-12-06 06:50:01
【问题描述】:

我正在构建 Office 365 Outlook 加载项。从我想调用 Graph API 的插件中,是否可以在不要求用户再次登录应用程序的情况下获取访问令牌?

【问题讨论】:

    标签: office365 outlook-addin azure-ad-graph-api


    【解决方案1】:

    是否可以在不要求用户再次登录应用程序的情况下获取访问令牌?

    不,你不能。

    在 Outlook 插件中,有一个名为 getUserIdentityTokenAsync 的 JavaScript API。通过调用该 API,您可以获得一个 Exchange Identity 令牌,但您不能使用该令牌访问图形 API。

    要在 Outlook 加载项中从 Exchange 服务器获取更多信息,您可以考虑发出 EWS 请求作为替代方式。

    这是一个示例供您参考

    Outlook-Add-in-JavaScript-MakeEWSRequest

    【讨论】:

      【解决方案2】:

      微软现在已经让这成为可能。现在它处于预览状态,并且仅表示“桌面”,我不确定这是否意味着桌面 Outlook 而不是 Outlook Web,或者它只是意味着不是通过移动应用程序的 Outlook。

      https://dev.office.com/docs/add-ins/develop/sso-in-office-add-ins

      我还没有弄清楚如何实际实施他们讨论的令牌交换,但如果我找到它会在这里更新。

      【讨论】:

        【解决方案3】:

        Office 加载项和 Graph API 之间没有单一的单点。您可以使用此article 中的方法。您将了解如何在登录期间最小化用户操作并缓存刷新令牌以获取访问令牌。

        【讨论】:

          最近更新 更多