Добавление приложения в чат

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

Установка teamsApp в указанном чате.

Примечания.

  • Если чат связан с экземпляром onlineMeeting, объект teamsApp будет установлен для собрания.

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

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

Разрешения

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

Тип разрешения Разрешения с наименьшими привилегиями Более высокие привилегированные разрешения
Делегированные (рабочая или учебная учетная запись) TeamsAppInstallation.ReadWriteSelfForChat TeamsAppInstallation.ManageSelectedForChat, TeamsAppInstallation.ReadWriteAndConsentForChat, TeamsAppInstallation.ReadWriteAndConsentSelfForChat, TeamsAppInstallation.ReadWriteForChat
Делегированные (личная учетная запись Майкрософт) Не поддерживается. Не поддерживается.
Приложение TeamsAppInstallation.ReadWriteSelfForChat.All Chat.Manage.Chat, TeamsAppInstallation.ManageSelectedForChat.All, TeamsAppInstallation.ReadWriteAndConsentForChat.All, TeamsAppInstallation.ReadWriteAndConsentSelfForChat.All, TeamsAppInstallation.ReadWriteForChat.All

Примечание.

Эти разрешения TeamsAppInstallation.ReadWriteSelfForChat, TeamsAppInstallation.ReadWriteForChat, TeamsAppInstallation.ReadWriteSelfForChat.All и TeamsAppInstallation.ReadWriteForChat.All не могут использоваться для установки приложений, требующих согласия на разрешения для конкретного ресурса.

HTTP-запрос

POST /chats/{chat-id}/installedApps

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

Заголовок Значение
Авторизация Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации.
Content-Type application/json. Обязательно.

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

Текст запроса должен содержать созданный идентификатор приложения каталога. Дополнительные сведения см. в разделе Свойства teamsApp. В следующей таблице перечислены другие параметры, которые можно использовать с текстом запроса.

Параметр Тип Описание
consentedPermissionSet teamsAppPermissionSet Набор разрешений для конкретных ресурсов, на которые предоставляется согласие.

Заметка: Разрешения, на которые было предоставлено согласие во время установки, должны соответствовать разрешениям для конкретных ресурсов, определенным в teamsAppDefinition приложения. Чтобы получить разрешения для приложения и делегированных ресурсов, см. пример 6. Если в teamsAppDefinition указаны только делегированные разрешения для конкретного ресурса, разрешения можно опустить в тексте запроса.

Отклик

В случае успешного выполнения этот метод возвращает код отклика 201 Created.

Примеры

Пример 1. Установка приложения в чате

Запрос

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

POST https://graph.microsoft.com/v1.0/chats/19:ea28e88c00e94c7786b065394a61f296@thread.v2/installedApps
Content-Type: application/json

{
   "teamsApp@odata.bind":"https://graph.microsoft.com/v1.0/appCatalogs/teamsApps/12345678-9abc-def0-123456789a"
}

Отклик

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

HTTP/1.1 201 Created

Чтобы получить список разрешений для конкретных ресурсов, необходимых приложению, получите приложение из appCatalog, как показано в примере 6.

Запрос

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

POST https://graph.microsoft.com/v1.0/chats/19:ea28e88c00e94c7786b065394a61f296@thread.v2/installedApps
Content-Type: application/json

{
  "teamsApp@odata.bind" : "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps/2b524e28-95ce-4c9b-9773-4a5bd6ec1770",
    "consentedPermissionSet": {
        "resourceSpecificPermissions": [
        {
          "permissionValue": "OnlineMeeting.ReadBasic.Chat",
          "permissionType": "Delegated"
        },
        {
          "permissionValue": "OnlineMeetingIncomingAudio.Detect.Chat",
          "permissionType": "Delegated"
        },
        {
          "permissionValue": "ChatMember.Read.Chat",
          "permissionType": "Application"
        },
        {
          "permissionValue": "ChatMessage.Read.Chat",
          "permissionType": "Application"
        }]
      }
}

Отклик

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

HTTP/1.1 201 Created