【问题标题】:Microsoft Teams Graph API get teams a user is a member of without admin consent?Microsoft Teams Graph API 在未经管理员同意的情况下获取用户所属的团队?
【发布时间】:2020-10-19 19:16:22
【问题描述】:

我想获取给定用户的团队列表,而不需要 admin_consent。这可能吗?我假设如果用户同意某个应用程序并且我为他们获得了访问令牌,我将能够请求仅限于该单个用户的信息,例如他们所属的团队。

但是在查看了/me/joinedTeams的api权限之后,似乎所有这些都需要admin_consent,这是有问题的。

【问题讨论】:

    标签: rest oauth microsoft-graph-api microsoft-teams


    【解决方案1】:

    也可以从应用程序中获取用户所属的团队

    网址-> https://graph.microsoft.com/v1.0/users/{{UserId}}/joinedTeams

    授权 -> BEARER {{AppAccessToken}}

    获取应用访问令牌

    网址 -> https://login.microsoftonline.com/{{TenantID}}/oauth2/v2.0/token

    正文-> x-www-urlform-encoded

    grant_type-> client_credentials

    client_id -> {{ClientID}}

    client_secret -> {{ClientSecret}}

    范围 -> https://graph.microsoft.com/.default

    您需要您的应用获得许可

    1-> teams.setting.user.all

    2 -> teams.read.basic.all

    看看是否还需要其他一些权限但这对我有用。

    【讨论】:

      【解决方案2】:

      事实证明,由于某些 API 的怪异,您可以使用 /me/memberOf 而不使用 admin_consent 至少获取用户有权访问的所有团队的 ID。

      /me/joinedTeams 然而只会返回一个403 Forbidden

      另外如果你想映射“外部”?从/me/memberOf 返回到 Teams 消息将具有的“内部”ID 的团队 ID(以 19: 开头)您仍然可以使用 /teams/{id} 端点,也无需任何管理员凭据来获取内部 ID团队。

      【讨论】:

        猜你喜欢
        • 2020-03-30
        • 2021-05-22
        • 1970-01-01
        • 1970-01-01
        • 2018-02-27
        • 2018-06-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多