Azure Graph API 调用仅获取应用程序组

Posted

技术标签:

【中文标题】Azure Graph API 调用仅获取应用程序组【英文标题】:Azure Graph API Call get only application groups 【发布时间】:2018-07-09 10:11:37 【问题描述】:

I have azure AD with 3 groups

我执行 api 调用来检索它

    登录:https://login.microsoftonline.com/$tenantID/oauth2/token 获取群组:https://graph.microsoft.com/v1.0/groups 获取用户:https://graph.microsoft.com/v1.0/groups/$groupID/members

没关系,我在里面收到 3 个组和用户 但现在我只需要分配给应用程序的组 Like this

我在 graph api 中找不到任何过滤它的方法。 如果有人知道怎么做,请帮忙

【问题讨论】:

解决问题使用graph.microsoft.com/beta/servicePrincipals/$applicationId/appRoleAssignments 如果已解决,您可以将其添加为答案,以帮助其他社区轻松搜索。 【参考方案1】:

这样解决这个问题:

    像以前一样获取所有组 获取分配给应用程序 graph.microsoft.com/beta/servicePrincipals/$applicationId/appRoleAssignments 的组和用户

回应:


    "@odata.context": "https://graph.microsoft.com/beta/$metadata#appRoleAssignments",
    "value": [
        
            "id": "tV-E7eUeFkmIemkoWcUgTkrT54btaddPtiLX96wVx0g",
            "creationTimestamp": "2018-07-06T10:43:32.548348Z",
            "principalDisplayName": "Pasha Kostohrys",
            "principalId": "$userID",
            "principalType": "User",
            "resourceDisplayName": "azure-group-sync",
            "resourceId": "$applicationId"
        ,
        
            "id": "ZRCxfjNVlUqrjp9Y3wuLJz6beU58dtNOvr41VsKwADo",
            "creationTimestamp": null,
            "principalDisplayName": "ops",
            "principalId": "$groupID",
            "principalType": "Group",
            "resourceDisplayName": "azure-group-sync",
            "resourceId": "$applicationId"
        
    ] 
    只过滤不在分配列表中的组

【讨论】:

我认为你可以使用 beta/users/id | userPrincipalName/appRoleAssignments 列出了用户有权访问的所有应用程序。但这并不能过滤特定的群体。我一直在寻找这样的东西。由于文档一直在更新,而且 MS 正在从其他 API 迁移,这一直很艰难。文档:docs.microsoft.com/en-us/graph/api/…

以上是关于Azure Graph API 调用仅获取应用程序组的主要内容,如果未能解决你的问题,请参考以下文章

Azure Ad Graph API,获取用户信息和用户设备信息

使用 Azure AD、ReactJS 和 NodeJS 验证用户并使用 Graph API

从Azure获取令牌以访问Microsoft Graph后无法调用函数

Azure AD B2C 图形 API 401 未经授权

OneNote Graph API不会返回新页面

无法在Logic Apps调用Graph API中设置hideFromAddressLists