我从Graph API获得的输出不完整

问题描述 投票:2回答:1

我正在写一个Teams-Slack集成。关键是要在MS团队中定义我们的班次,并根据谁在Shift上更改某些Slack频道的描述。

在任何情况下,Slack结束都已完成,但我在团队及其API方面存在很多问题。

首先,这是我的主要资源:https://docs.microsoft.com/en-us/graph/api/schedule-list-shifts?view=graph-rest-beta

好的,这就是我已经做过的事情。

  • 我在Azure中注册了我的机器人并且我有一个ID
  • 我给了机器人所需的权限
  • 我找到了我们轮班的团队ID

这就是手工完成的过程:

  1. 导航到一个URL,它将为我提供我的代码。我附上了一张图片,而不是一个大网页混杂List item
  2. 当我导航到这个URL(不使用Python)时,我到达了一个让我确认我的O365用户的页面。 (当Python尝试这个时,它要求完整的登录)enter image description here
  3. 然后我被重定向到localhost页面,参数代码= SOMECODEHERE
  4. 然后我获取此代码并使用Postman在POST请求中发送它以获取我的访问令牌:

enter image description here

  1. 然后,我使用此承载访问令牌来提取班次。

以下是我的问题/问题:

  1. 当我最终获得包含所有团队成员轮班的JSON文件时,它仅显示前后1个月的轮班。 Aka今天是22-04-2019,我能看到的最后一个班次是22-03-2019。
  2. JSON也不显示谁在班次或随叫随到。我的意思是,我可以看到在20-02-2019之间有一个转变,但它不会为那个转变的成员返回任何UID或名称。有没有办法找到这个?
  3. 有没有办法用python获取“code =”值?它要求它登录(因为它要求我确认我的O365用户 - 见第2张图片)。我是否真的需要对自己的登录详细信息进行硬编码,以便机器人可以导航到某个页面?那是愚蠢的imo。我知道我可以读取重定向的URL,但我甚至无法到达那里。
python microsoft-graph microsoft-teams microsoft-graph-teams
1个回答
1
投票

这只是第三个问题的答案。我会看看能不能找到前两个答案的人。

您正在访问的API使用委派权限,这意味着您代表登录用户进行访问。当用户登录时,他们的身份将被验证,一旦真正的Azure AD返回代码,您可以交换访问令牌。因此,根据定义,没有用户登录就无法获取代码。

还有另一种权限,即应用程序权限,此API不支持,但如果是,则会以您希望的方式运行。我也会问这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.