【问题标题】:How to fetch Planner plans and tasks using Python and MS Graph如何使用 Python 和 MS Graph 获取 Planner 计划和任务
【发布时间】:2018-05-04 22:35:51
【问题描述】:

我遵循了 MS Graph (https://github.com/microsoftgraph/python-sample-send-mail) 中的 python-sample-send-mail 示例,它对我来说非常好用。 然后我稍微修改了一下,让原来的功能仍然可以工作,并添加了新的 app-route 来看看这个调用会返回给我什么:

all_plans= MSGRAPH.get("me/planner/plans", headers=request_headers()).data

原来我没有权限这样做:

{
'error': {
  'code': '',
  'message': 'You do not have the required permissions to access this item.',
  'innerError': {
    'request-id': '4722fe32-425d-462d-a6b4-b5af4582b8cf',
    'date': '2018-05-04T21:46:31'}}}

我从这里检查了 APP 权限:https://apps.dev.microsoft.com 所以很明显,我已经根据这份文档设置了所有权限:https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/plannerplan_get

考虑到所有这些,我完全迷失了,不明白应该做什么才能让它发挥作用。

非常感谢您提供任何帮助和/或建议。 提前致谢!

更新 [2018 年 5 月 4 日]

我想公司的管理员应该授予访问 MS-GRAPH Groups API 的权限...我说的对吗?

【问题讨论】:

    标签: python rest microsoft-graph-api office365api


    【解决方案1】:

    要使用Group.Read.AllGroup.ReadWrite.All 等范围,您需要获得租户管理员的管理员同意。我写了一篇文章介绍了这一点,您可能会觉得有帮助:v2 Endpoint & Admin Consent

    还值得注意的是,您同时要求Group.Read.AllGroup.ReadWrite.All。您应该只请求这两个范围之一。如果你真的只需要Read 访问,你应该只请求Group.Read.All。如果您同时需要ReadWrite 访问权限,则应仅请求Group.ReadWrite.All

    您还请求 Delegated 和 Application 范围。除非您使用客户端凭据授权,否则不应定义任何应用程序范围。只有委托范围用于授权代码和隐式 OAuth 授权。

    【讨论】:

    • 谢谢你,马克。我真的很感谢你的回复。管理员同意目前正在调查中。我使用了这两种权限,因为我认为我做错了什么并且一个还不够。我知道只需要 Delegated - 但又不确定 - 所以也选择了 Application 范围。将与我的公司管理员合作,看看我是否可以授予权限。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-22
    • 2020-03-26
    相关资源
    最近更新 更多