You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Outlook插件对接Graph API授权:无需额外登录获取邮箱附件内容方案咨询

适配Graph API无需额外登录的实现方案

你通过Office.context.mailbox.getCallbackTokenAsync获取的令牌本身可兼容Graph API调用,无需引导用户二次登录,仅需调整3处配置和调用逻辑即可:

1. 调整令牌获取参数

Office.js 1.13及以上版本已新增Graph专属令牌获取参数,将原有调用逻辑替换为以下代码:

Office.context.mailbox.getCallbackTokenAsync({
    allowConsentPrompt: true,
    forGraphAccess: true
}, (asyncResult) => {
    if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
        const graphAccessToken = asyncResult.value;
        // 将令牌传递至后端即可调用Graph接口
    }
});

若当前使用的Office.js版本低于1.13,需先升级引用的Office.js资源到官方最新生产版本,旧版本不支持forGraphAccess参数。

2. 调整插件清单权限配置

在Office Add-in的manifest文件中更新两处配置:

  • 权限级别保持和此前调用Outlook REST API时的配置一致即可,至少为ReadWriteItem级别
  • 新增WebApplicationInfo节点,在该节点下声明你业务需要的Graph API权限,比如读取附件需要用到的Mail.Read、Mail.ReadWrite等权限

3. 调整后端接口调用规则

将原Outlook REST API的请求端点替换为Graph API对应端点即可,读取邮件附件的示例请求为:
GET https://graph.microsoft.com/v1.0/me/messages/{邮件ID}/attachments/{附件ID}
请求头携带Authorization: Bearer {你获取到的Graph令牌}即可正常拉取附件内容。

特殊场景适配

如果你的服务面向世纪互联运营的国内版Office 365用户,将Graph请求端点替换为国内版对应地址即可,令牌获取逻辑无需调整。

内容的提问来源于stack exchange,提问作者koper89

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 19:54:01