Список приложений

Пространство имен: microsoft.graph

Важно!

API версии /beta в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.

Получение списка приложений в организации. Этот API также возвращает объекты agentIdentityBlueprint, которые идентифицируются свойством @odata.type .#microsoft.graph.agentIdentityBlueprint

Примечание.

При вызове этого API с использованием маркеров, выпущенных для личной учетной записи Майкрософт, возвращаются приложения, принадлежащие личной учетной записи Майкрософт. Для личных учетных записей Майкрософт не существует понятия организаций. Чтобы вывести список приложений, принадлежащих определенной личной учетной записи Майкрософт, этому API требуется разрешение User.Read в дополнение к Application.Read.All или Application.ReadWrite.All.

Этот API доступен в следующих национальных облачных развертываниях.

Глобальное обслуживание Правительство США L4 Правительство США L5 (DOD) Китай, обслуживаемый 21Vianet

Разрешения

Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более высокий уровень привилегий или разрешений, только если это требуется вашему приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в статье Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.

Тип разрешения Разрешения с наименьшим объемом привилегий Разрешения с более высоким уровнем привилегий
Делегированные (рабочая или учебная учетная запись) Application.Read.All Application.ReadWrite.All, Directory.ReadWrite.All, Directory.Read.All
Делегированные (личная учетная запись Майкрософт) Application.Read.All и User.Read Application.ReadWrite.All и User.Read
Приложение Application.Read.All Application.ReadWrite.OwnedBy, Application.ReadWrite.All, Directory.Read.All

Важно!

При делегированном доступе с использованием рабочих или учебных учетных записей, когда вошедший в систему пользователь действует на другого пользователя, ему должна быть назначена поддерживаемая роль Microsoft Entra или пользовательская роль, предоставляющая разрешения, необходимые для этой операции. Эта операция поддерживает следующие встроенные роли, которые предоставляют лишь наименьшее количество необходимых прав:

  • Участник, не являющийся администратором, или гостевой пользователь с разрешениями пользователя по умолчанию
  • Разработчик приложений — чтение свойств приложения, которыми он владеет
  • Средства чтения каталогов — чтение стандартных свойств
  • Global Secure Access Administrator — чтение стандартных свойств
  • Глобальный читатель
  • Запись каталогов
  • Администратор гибридных удостоверений
  • Администратор безопасности
  • Администратор облачных приложений
  • Администратор приложений

HTTP-запрос

GET /applications

Необязательные параметры запросов

Этот метод поддерживает параметры запросов $count, $expand, , $filter$orderby, $search, $selectи $topOData, чтобы помочь настроить ответ. Некоторые связи также поддерживают $filter. Стандартный и максимальный размеры страницы — 100 и 999 объектов приложений соответственно. Некоторые запросы поддерживаются только при использовании заголовка ConsistencyLevel с присвоенным значением eventual и $count. Дополнительные сведения см. в статье Расширенные возможности запросов для объектов каталога.

По умолчанию этот API не возвращает значение отпечатка key в свойстве keyCredentials при перечислении всех приложений. Чтобы получить отпечаток key, требуется указать свойство keyCredentials в запросе $select. Например, $select=id,appId,keyCredentials.

При использовании $select с целью получения keyCredentials для приложений применяется ограничение регулирования в количестве 150 запросов в минуту для каждого клиента.

Заголовки запросов

Имя Описание
Авторизация Bearer {token}. Обязательно. Дополнительные сведения об аутентификации и авторизации.
ConsistencyLevel необязательный. Этот заголовок и $count требуются при использовании $search или определенном использовании $filter. Дополнительные сведения об использовании ConsistencyLevel и $count, см. в статье Расширенные возможности запросов к объектам каталога.

Текст запроса

Не указывайте текст запроса для этого метода.

Отклик

В случае успеха этот метод возвращает код ответа 200 OK и коллекцию объектов application и agentIdentityBlueprint в тексте ответа.

Примеры

Пример 1: получение списка приложений

Запрос

Ниже показан пример запроса.

GET https://graph.microsoft.com/beta/applications

Отклик

Ниже показан пример отклика.

Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.

HTTP/1.1 200 OK
Content-type: application/json

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#applications",
  "value": [
    {
      "appId": "00000000-0000-0000-0000-000000000000",
      "identifierUris": [ "http://contoso/" ],
      "displayName": "My app",
      "publisherDomain": "contoso.com",
      "signInAudience": "AzureADMyOrg"
    }
  ]
}

Пример 2: получение только количества приложений

Запрос

Ниже показан пример запроса. Для этого запроса требуется заголовок ConsistencyLevel с присвоенным значением eventual, так как в запросе присутствует $count. Дополнительные сведения об использовании ConsistencyLevel и $count, см. в статье Расширенные возможности запросов к объектам каталога.

Примечание. В настоящее время параметры $count и $search недоступны в клиентах Azure AD B2C.

GET https://graph.microsoft.com/beta/applications/$count
ConsistencyLevel: eventual

Отклик

Ниже показан пример отклика.

HTTP/1.1 200 OK
Content-type: text/plain

893

Пример 3: использование параметров $filter и $top для получения одного приложения с отображаемым именем, которое начинается с "а", включая количество возвращаемых объектов

Запрос

Ниже показан пример запроса. Для этого запроса требуется заголовок ConsistencyLevel с присвоенным значением eventual и строка запроса $count=true, так как запрос содержит параметры запроса $orderby и $filter. Дополнительные сведения об использовании ConsistencyLevel и $count, см. в статье Расширенные возможности запросов к объектам каталога.

Примечание. В настоящее время параметры $count и $search недоступны в клиентах Azure AD B2C.

GET https://graph.microsoft.com/beta/applications?$filter=startswith(displayName, 'a')&$count=true&$top=1&$orderby=displayName
ConsistencyLevel: eventual

Отклик

Ниже показан пример отклика.

Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.

HTTP/1.1 200 OK
Content-type: application/json

{
  "@odata.context":"https://graph.microsoft.com/beta/$metadata#applications",
  "@odata.count":1,
  "value":[
    {
      "appId": "00000000-0000-0000-0000-000000000000",
      "identifierUris": [ "http://contoso/" ],
      "displayName":"a",
      "publisherDomain": "contoso.com",
      "signInAudience": "AzureADMyOrg"
    }
  ]
}

Пример 4: использование параметра $search для получения приложений с отображаемыми именами, содержащими буквы "Web", включая количество возвращаемых объектов

Запрос

Ниже показан пример запроса. Для этого запроса требуется заголовок ConsistencyLevel с присвоенным значением eventual, так как в запросе присутствует $search и строка запроса $count=true. Дополнительные сведения об использовании ConsistencyLevel и $count, см. в статье Расширенные возможности запросов к объектам каталога.

Примечание. В настоящее время параметры $count и $search недоступны в клиентах Azure AD B2C.

GET https://graph.microsoft.com/beta/applications?$search="displayName:Web"&$count=true&$select=appId,identifierUris,displayName,publisherDomain,signInAudience
ConsistencyLevel: eventual

Отклик

Ниже показан пример отклика.

Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.

HTTP/1.1 200 OK
Content-type: application/json

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#applications(appId,identifierUris,displayName,publisherDomain,signInAudience)",
  "@odata.count":1396,
  "value":[
    {
      "appId": "00000000-0000-0000-0000-000000000000",
      "identifierUris": [ "http://contoso/" ],
      "displayName":"'DotNetWeb-App' ",
      "publisherDomain": "contoso.com",
      "signInAudience": "AzureADMyOrg"
    }
  ]
}

Пример 5. Получение приложений с менее чем двумя владельцами

Запрос

Ниже показан пример запроса. Для этого запроса требуется заголовок ConsistencyLevel с присвоенным значением eventual, так как в запросе присутствует $count. Дополнительные сведения об использовании ConsistencyLevel и $count, см. в статье Расширенные возможности запросов к объектам каталога.

Примечание. В настоящее время параметры $count и $search недоступны в клиентах Azure AD B2C.

GET https://graph.microsoft.com/beta/applications?$filter=owners/$count eq 0 or owners/$count eq 1&$count=true&$select=id,displayName
ConsistencyLevel: eventual

Отклик

Ниже показан пример отклика.

Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#applications(id,displayName)",
    "@odata.count": 3,
    "value": [
        {
            "id": "89e9e6c6-a7de-4ac0-8eed-12bd867d8f27",
            "displayName": "Box"
        },
        {
            "id": "c6cb7240-c684-4e24-93f5-eb29d0d9f43b",
            "displayName": "LinkedIn"
        },
        {
            "id": "d7151835-284e-4416-adc6-96fef8a77690",
            "displayName": "BrowserStack"
        }
    ]
}

Пример 6. Получение приложений с идентификатором identifierUris с помощью схемы API

Запрос

Ниже показан пример запроса. Для этого запроса требуется заголовок ConsistencyLevel с присвоенным значением eventual, так как в запросе присутствует $count. Дополнительные сведения об использовании ConsistencyLevel и $count, см. в статье Расширенные возможности запросов к объектам каталога.

GET https://graph.microsoft.com/beta/applications?$filter=identifierUris/any(x:startswith(x,'api://'))&$count=true
ConsistencyLevel: eventual

Отклик

Ниже показан пример отклика.

Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#applications",
    "@odata.count": 15067,
    "@odata.nextLink": "https://graph.microsoft.com/beta/applications?$filter=identifierUris%2fany(x%3astartswith(x%2c%27api%3a%2f%2f%27))&$count=true&$skiptoken=m~AQAoOzAxOTk3MTE1OTYyMDQ4MGE4YzE0ZjlkNWM0Y2ViMjE5OzswOzA7Ow",
    "@microsoft.graph.tips": "Use $select to choose only the properties your app needs, as this can lead to performance improvements. For example: GET applications?$select=api,appCategory",
    "value": [
        {
            "id": "000101ef-c7d0-47a0-83bd-d234347da0f3",
            "identifierUris": [
                "api://000101ef-c7d0-47a0-83bd-d234347da0f3"
            ]
        }
    ]
}

Пример 7. Вывод списка приложений с помощью signInAudienceRestrictions

Запрос

В следующем примере показан запрос, использующий $select указание возвращаемых свойств. Сюда входит свойство signInAudienceRestrictions , которое возвращается только в том случае, если запрос с $selectпомощью .

GET https://graph.microsoft.com/beta/applications?$select=id,appId,displayName,signInAudience,signInAudienceRestrictions

Отклик

Ниже показан пример отклика.

Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#applications(id,appId,displayName,signInAudience,signInAudienceRestrictions)",
    "@odata.nextLink": "https://graph.microsoft.com/beta/applications?$select=id%2cappId%2cdisplayName%2csignInAudience%2csignInAudienceRestrictions&$skiptoken=RFNwdAIAAQ...",
    "value": [
        {
            "id": "5ea443cf-12f6-41ab-9d8a-5ce727149aa5",
            "appId": "422cc61e-7b6b-4a85-86ab-fb30889ab0ce",
            "displayName": "Test app 1",
            "signInAudience": "AzureADandPersonalMicrosoftAccount",
            "signInAudienceRestrictions": {
                "@odata.type": "#microsoft.graph.unrestrictedAudience",
                "kind": "unrestricted"
            }
        },
        {
            "id": "84ac0248-da58-40c5-b98f-984f85899017",
            "appId": "2fc17695-80db-4ac5-96dd-6aa82d8dfcdc",
            "displayName": "New app with org restrictions",
            "signInAudience": "AzureADMultipleOrgs",
            "signInAudienceRestrictions": {
                "@odata.type": "#microsoft.graph.allowedTenantsAudience",
                "kind": "allowedTenants",
                "allowedTenantIds": [
                    "3be81b2e-2cfa-49f8-9fe1-c7c7223b9658",
                    "7c33a22a-27ff-4948-840f-7beb8169d6e4"
                ],
                "isHomeTenantAllowed": true
            }
        }
    ]
}