【问题标题】:Microsoft Graph API - Get directory objects from a list of ids - Bad requestMicrosoft Graph API - 从 id 列表中获取目录对象 - 错误请求
【发布时间】:2018-11-13 05:51:43
【问题描述】:

我需要使用 Microsoft Graph API 获取用户所属的组列表。

为此,我使用端点POST /users/<userId>/getMemberGroups (doc)。这很好用,但问题是响应只是组对象 ID 的列表。我也需要获取组属性。我可以遍历列表并查询GET /groups/<groupId> 的 API,但是当用户有多个组时,这需要很长时间。

然后我找到了POST /directoryObjects/getById (doc),它把这个列表变成了我需要的。我完全按照文档页面进行操作,但出现以下错误:

Request_BadRequest - 请求目标不允许使用指定的 HTTP 方法。(HTTP 状态 405)

我做错了什么?方法getById 被窃听了吗?如果是,是否有任何替代方法可以将组对象 ID 列表转换为组或获取用户组的完整列表?

【问题讨论】:

    标签: azure-active-directory microsoft-graph-api


    【解决方案1】:

    您提到的 API Get directory objects from a list of ids 应该可以工作,我在MS Graph Explorer 中对其进行了测试,它工作正常。

    确保您使用POST 方法,我可以用另一种方法重现您的问题。

    您可以参考以下信息再试一次。

    请求网址:

    POST https://graph.microsoft.com/beta/directoryObjects/getByIds
    

    请求正文:

    {
      "ids": [
            "xxxxxxxx-9f1b-4f28-a408-xxxxxxxxxxxx",
            "xxxxxxxx-a614-4335-81eb-xxxxxxxxxxxx",
            "xxxxxxxx-e500-49d6-a705-xxxxxxxxxxxx",
            "xxxxxxxx-5be3-41eb-864d-xxxxxxxxxxxx",
            "xxxxxxxx-961d-4db9-87cf-xxxxxxxxxxxx",
            "xxxxxxxx-93bf-4950-8d96-xxxxxxxxxxxx"
      ],
      "types": [
        "group"
      ]
    }
    

    结果:

    【讨论】:

    • 我昨天尝试在 Graph Explorer 中使用 POST 方法进行操作,但仍然失败。现在我又试了一次,它奏效了。我认为资源管理器可能只是以某种方式出错(或者我在某处打错了......)。谢谢! :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多