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

如何通过Python和MS Graph获取Planner计划与任务?权限问题咨询

解决MS Graph调用Planner计划时的权限不足问题

嘿,我懂你现在的处境——之前用Python示例成功实现邮件发送后,扩展功能调用Planner计划时碰了权限钉子,这其实是非常常见的权限配置问题,咱们一步步拆解解决:

1. 明确接口所需权限

调用me/planner/plans接口,你需要对应的委派权限(因为你用了me代表当前登录用户),常用的适配权限有:

  • Planner.Read:仅允许读取用户可访问的Planner计划
  • Planner.ReadWrite:如果后续需要修改计划内容,就选这个

注意:这些权限属于Microsoft Graph的Planner专属权限,和原来邮件功能用到的Mail.Send等权限完全独立,所以之前的配置自然覆盖不到。

2. 更新Azure AD应用注册的权限配置

你需要登录Azure门户,找到对应的应用注册:

  • 进入「API权限」选项卡
  • 点击「添加权限」→ 选择「Microsoft Graph」→ 勾选「委派权限」
  • 在搜索框输入Planner相关权限,选中你需要的权限后点击「添加权限」
  • 关键一步:如果是企业租户,必须点击「授予管理员同意」让权限生效;个人账号可跳过,但也要确认权限已成功添加

3. 修改代码中的权限范围

回到Python代码,原来获取token的scope参数只包含邮件权限,现在要把Planner权限加进去。比如原来的scope可能是:

scopes = ["https://graph.microsoft.com/Mail.Send"]

现在要更新为:

scopes = ["https://graph.microsoft.com/Mail.Send", "https://graph.microsoft.com/Planner.Read"]

这样新获取的access token才会包含Planner的访问权限。

4. 重新获取token并验证

修改scope后,一定要重新获取token(旧token没有新权限),再测试me/planner/plans接口。如果还是报错,可以用Graph Explorer辅助排查:用同一账号登录后调用相同接口,如果Graph Explorer能成功,说明是代码中token获取环节有问题;如果Graph Explorer也报错,那大概率是权限配置还没到位。

额外排查点

如果错误的code字段为空,可能是权限未完全生效(通常需要几分钟同步时间),或者你选择的权限和用户实际访问权限不匹配——比如当前登录用户本身就没有任何Planner计划的访问权限,也会触发类似提示,建议先确认用户在Planner中能正常看到计划。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 11:12:30