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

Пространство имен: 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