如何使用Python和MS Graph获取Planner计划和任务

时间:2018-05-04 22:35:52

标签: python rest microsoft-graph office365api

我遵循了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 enter image description here 所以很明显我已根据本文档设置了所有权限:https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/plannerplan_get

鉴于所有这一切,我完全迷失了,并且不明白为了使其发挥作用应该做些什么。

非常感谢任何帮助和/或建议。 在此先感谢!

更新[2018年5月4日]

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

1 个答案:

答案 0 :(得分:1)

要使用Group.Read.AllGroup.ReadWrite.All等范围,您需要从租户的管理员处获得管理员同意。我写了一篇文章,通过这篇文章,您可能会发现有用的信息:v2 Endpoint & Admin Consent

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

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