Agregar la aplicación al chat

Espacio de nombres: microsoft.graph

Instale un teamsApp en el chat especificado.

Notas:

  • Si el chat está asociado a una instancia de onlineMeeting, se instalará de forma efectiva teamsApp en la reunión.

Esta API está disponible en las siguientes implementaciones nacionales de nube.

Servicio global Gobierno de EE. UU. L4 Us Government L5 (DOD) China operada por 21Vianet

Permissions

Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use un permiso o permisos con privilegios superiores solo si la aplicación lo requiere. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.

Tipo de permiso Permisos con privilegios mínimos Permisos con privilegios más altos
Delegado (cuenta profesional o educativa) TeamsAppInstallation.ReadWriteSelfForChat TeamsAppInstallation.ManageSelectedForChat, TeamsAppInstallation.ReadWriteAndConsentForChat, TeamsAppInstallation.ReadWriteAndConsentSelfForChat, TeamsAppInstallation.ReadWriteForChat
Delegado (cuenta personal de Microsoft) No admitida. No admitida.
Aplicación TeamsAppInstallation.ReadWriteSelfForChat.All Chat.Manage.Chat, TeamsAppInstallation.ManageSelectedForChat.All, TeamsAppInstallation.ReadWriteAndConsentForChat.All, TeamsAppInstallation.ReadWriteAndConsentSelfForChat.All, TeamsAppInstallation.ReadWriteForChat.All

Nota:

Estos permisos TeamsAppInstallation.ReadWriteSelfForChat, TeamsAppInstallation.ReadWriteForChat, TeamsAppInstallation.ReadWriteSelfForChat.All y TeamsAppInstallation.ReadWriteForChat.All no se pueden usar para instalar aplicaciones que requieran consentimiento para permisos específicos de recursos.

Solicitud HTTP

POST /chats/{chat-id}/installedApps

Encabezados de solicitud

Encabezado Valor
Authorization {token} de portador. Obligatorio. Obtenga más información sobre la autenticación y la autorización.
Content-Type application/json. Obligatorio.

Cuerpo de la solicitud

El cuerpo de la solicitud debe incluir el identificador de aplicación generado de la aplicación de catálogo. Para obtener más información, consulte las propiedades de teamsApp. En la tabla siguiente se enumeran otros parámetros que se pueden usar con el cuerpo de la solicitud.

Parámetro Tipo Descripción
consentedPermissionSet teamsAppPermissionSet Conjunto de permisos específicos de recursos a los que se está dando su consentimiento.

Nota: Los permisos consentidos durante la instalación deben coincidir con los permisos específicos del recurso definidos en teamsAppDefinition de la aplicación. Para obtener la aplicación y los permisos específicos de recursos delegados, consulte el ejemplo 6. Si solo se especifican permisos delegados específicos de recursos en teamsAppDefinition, los permisos se pueden omitir en el cuerpo de la solicitud.

Respuesta

Si se ejecuta correctamente, este método devuelve un código de respuesta 201 Created.

Ejemplos

Ejemplo 1: Instalación de la aplicación en un chat

Solicitud

En el ejemplo siguiente se muestra la solicitud.

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"
}

Respuesta

En el ejemplo siguiente se muestra la respuesta.

HTTP/1.1 201 Created

Para obtener la lista de permisos específicos de recursos requeridos por la aplicación, obtenga la aplicación desde appCatalog, como se muestra en el ejemplo 6.

Solicitud

En el ejemplo siguiente se muestra la solicitud.

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"
        }]
      }
}

Respuesta

En el ejemplo siguiente se muestra la respuesta.

HTTP/1.1 201 Created