Instalación proactiva del bot para usuarios con Microsoft Graph

Si necesita enviar mensajes a los usuarios que no han instalado o han interactuado previamente con la aplicación(por ejemplo, para difundir información importante a todos los usuarios de su organización), puede usar microsoft Graph API para instalar de forma proactiva el bot para esos usuarios. Antes de que el bot pueda enviar mensajes de forma proactiva a un usuario, debe estar instalado como una aplicación personal o en un equipo del que el usuario sea miembro.

En este artículo se explica cómo usar Microsoft Graph para comprobar el estado de instalación e instalar el bot mediante programación. Después de la instalación, consulte Envío de un mensaje de bienvenida personal para obtener información sobre cómo recuperar el identificador de conversación y enviar un mensaje 1:1 al usuario.

Permisos

Los permisos del tipo de recurso teamsAppInstallation de Microsoft Graph le ayudan a administrar el ciclo de vida de instalación de la aplicación para todos los ámbitos de usuario (personal) o de equipo (canal) dentro de la plataforma de Microsoft Teams:

Permiso de la aplicación Descripción
TeamsAppInstallation.ReadWriteSelfForUser.All Permite que una aplicación de Teams se lea, instale, actualice y desinstale por sí misma para cualquier usuario, sin que se haya usado o iniciado sesión en ella previamente.
TeamsAppInstallation.ReadWriteSelfForTeam.All Permite que una aplicación de Teams se lea, instale, actualice y desinstale a sí misma en cualquier equipo sin que se haya usado o iniciado sesión en ella previamente.

Para usar estos permisos, debe agregar una clave webApplicationInfo al manifiesto de la aplicación (anteriormente denominado manifiesto de aplicación de Teams) con los siguientes valores:

  • id: el identificador de la aplicación Microsoft Entra.
  • resource: La dirección URL del recurso de la aplicación.

Nota:

  • El bot requiere permisos delegados de aplicación y no de usuario porque la instalación es para otros usuarios.

  • Un administrador de Microsoft Entra debe conceder explícitamente permisos a una aplicación. Una vez que se conceden permisos a la aplicación, todos los miembros del inquilino de Microsoft Entra obtienen los permisos concedidos.

Habilitar la instalación y mensajería proactivas de la aplicación

Importante

Microsoft Graph solo puede instalar aplicaciones publicadas en la tienda de aplicaciones de su organización o en la Tienda Microsoft Teams.

Crear y publicar el bot de mensajería proactiva para Teams

Para empezar, necesita un bot para Teams con funcionalidades de mensajería proactiva que se encuentra en la tienda de aplicaciones de su organización o en la Tienda Teams.

Sugerencia

La plantilla de la aplicación lista para producción Company Communicator permite la difusión de mensajes y es un buen punto de partida para crear la aplicación de bot proactiva.

Obtener el teamsAppId para la aplicación

Puede recuperar el teamsAppId de las siguientes maneras:

  • Desde al catálogo de aplicaciones de su organización:

    Referencia de página de Microsoft Graph:tipo de recurso teamsApp

    Solicitud HTTP GET:

    GET https://graph.microsoft.com/v1.0/appCatalogs/teamsApps?$filter=externalId eq '{IdFromManifest}'
    

    La solicitud debe devolver un objeto de teamsAppid, que es el id. de aplicación generado por el catálogo de la aplicación. Esto es diferente del identificador que proporcionó en el manifiesto de la aplicación:

    {
      "value": [
        {
          "id": "b1c5353a-7aca-41b3-830f-27d5218fe0e5",
          "externalId": "f31b1263-ba99-435a-a679-911d24850d7c",
          "name": "Test App",
          "version": "1.0.1",
          "distributionMethod": "Organization"
        }
      ]
    }
    

    Nota:

    Cuando la aplicación está en la Tienda Teams, es igual teamsAppIdIdFromManifest que y externalId no se debe usar en este caso.

  • Si la aplicación ya se ha cargado para un usuario en el ámbito personal:

    Referencia de página de Microsoft Graph:Lista de aplicaciones instaladas para el usuario

    Solicitud HTTP GET:

    GET https://graph.microsoft.com/v1.0/users/{user-id}/teamwork/installedApps?$expand=teamsApp&$filter=teamsApp/externalId eq '{IdFromManifest}'
    
  • Si la aplicación ya se ha cargado para un canal en el ámbito de equipo:

    Referencia de página de Microsoft Graph:Enumerar aplicaciones en equipo

    Solicitud HTTP GET:

    GET https://graph.microsoft.com/v1.0/teams/{team-id}/installedApps?$expand=teamsApp&$filter=teamsApp/externalId eq '{IdFromManifest}'
    

    Sugerencia

    Para restringir la lista de resultados, puede filtrar cualquiera de los campos del objeto teamsApp.

Determinar si el bot está instalado para un destinatario del mensaje

Puede determinar si el bot está instalado para un destinatario del mensaje como se indica a continuación:

Referencia de página de Microsoft Graph:Lista de aplicaciones instaladas para el usuario

Solicitud HTTP GET:

GET https://graph.microsoft.com/v1.0/users/{user-id}/teamwork/installedApps?$expand=teamsApp&$filter=teamsApp/id eq '{teamsAppId}'

La solicitud devuelve:

  • Matriz vacía si la aplicación no está instalada.
  • Una matriz con un objeto teamsAppInstallation único si la aplicación está instalada.

Instalar la aplicación

Puede instalar la aplicación de la siguiente manera:

Referencia de página de Microsoft Graph:Instalar aplicación para el usuario

Solicitud HTTP POST:

POST https://graph.microsoft.com/v1.0/users/{user-id}/teamwork/installedApps
Content-Type: application/json

{
   "teamsApp@odata.bind" : "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps/{teamsAppId}"
}

Si el usuario está ejecutando Microsoft Teams, la instalación de la aplicación se produce inmediatamente. Podría ser necesario reiniciar para ver la aplicación instalada.

Para ver los pasos siguientes, consulte Envío de un mensaje de bienvenida personal para obtener información sobre cómo recuperar el identificador de conversación y enviar un mensaje 1:1 al usuario.

Ejemplo de código

Nombre de ejemplo Descripción .NET Node.js
Instalación proactiva de la aplicación y envío de notificaciones proactivas Esta aplicación de ejemplo muestra la instalación proactiva de una aplicación de Teams y el envío de notificaciones a los usuarios mediante las API de Microsoft Graph. View View

Ejemplo de código adicional

Vea también