Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo, obtenga más información sobre la creación de funcionalidades de aplicaciones de Teams. Esta es una lista de las guías paso a paso disponibles para las funcionalidades de la plataforma Teams.
| # | Funcionalidad | Guía paso a paso |
|---|---|---|
| 1. | Bot | Depuración del bot de chat de IA mediante el área de juegos de agentes de Microsoft 365 |
| 2. | Extensión de mensaje | Extensión de mensaje basada en API de compilación |
| 3. | Tab | Compilación de la primera aplicación de pestaña con C sharp |
| 4. | SSO |
-
Compilación de un bot con autenticación sso - Agregar sso a la aplicación de extensión de mensaje y pestaña |
Depuración del bot de chat de IA mediante el área de juegos de agentes de Microsoft 365
Inicie el desarrollo de aplicaciones de Microsoft Teams con su aplicación de bot de chat de IA de Teams y depure con el área de juegos de agentes de Microsoft 365 (anteriormente conocida como Herramienta de prueba de aplicaciones de Teams). Agents Playground facilita la depuración de aplicaciones basadas en bots. No necesita una cuenta de desarrollador de Microsoft 365, una tunelización o un registro de aplicaciones y bots de Teams para usar el área de juegos de agentes.
Tutorial: Depuración del bot de chat de IA
Requisitos previos
Puede chatear con el bot y ver los mensajes y las tarjetas adaptables a medida que aparecen en Teams. También puede simular una actividad en el área de juegos de agentes mediante desencadenadores de actividad.
Nota:
- El área de juegos de agentes solo está disponible en la versión 5.4.0 del Kit de herramientas de agentes de Microsoft 365 (anteriormente conocido como Kit de herramientas de Teams).
- Agents Playground solo se admite para clientes de escritorio y web.
Esta guía paso a paso le ayuda a crear un bot de chat de inteligencia artificial mediante Agents Toolkit y depurar con la herramienta de prueba. Verá la siguiente salida después de completar esta guía, donde el usuario puede acceder al bot de chat de IA y usarlo:
| Instalar | Para usar... |
|---|---|
| Visual Studio Code o Visual Studio | Entornos de compilación de JavaScript, TypeScript o C#. Use la versión más reciente. |
| Kit de herramientas de agentes de Microsoft 365 | Microsoft Visual Studio Code extensión que crea un scaffolding de proyecto para la aplicación. Use Agents Toolkit v5.4.0. Para obtener más información, consulte Instalación del kit de herramientas de agentes. |
| Node.js | Entorno de tiempo de ejecución de JavaScript de back-end. Para obtener más información, vea Node.js tabla de compatibilidad de versiones para el tipo de proyecto. |
| OpenAI o Azure OpenAI | En primer lugar, cree la clave de API de OpenAI para usar la GPT de OpenAI. Si desea hospedar la aplicación o acceder a los recursos en Azure, debe crear un servicio Azure OpenAI. |
| Microsoft Edge (recomendado) o Google Chrome | Un explorador con herramientas de desarrollo. |
Creación del área de trabajo del proyecto para la aplicación de bot de chat de IA
La funcionalidad de bot de una aplicación de Teams crea un bot de chat o un bot conversacional. Se comunica con un servicio web, facilitando el uso de sus servicios. El bot puede ejecutar tareas sencillas y automatizadas, como la entrega del servicio al cliente. Puede obtener la previsión meteorológica, realizar reservas o cualquier otro servicio ofrecido mediante un bot conversacional.
Como ya está preparado para crear estas aplicaciones, puede configurar un nuevo proyecto de Teams para crear la aplicación de bot de chat de IA.
Creación del área de trabajo del proyecto de bot
Si se cumplen los requisitos previos, comencemos.
Abra Visual Studio Code.
Seleccione el icono microsoft 365 Agents Toolkit
en la barra de actividad de Visual Studio Code.Seleccione Crear un nuevo agente o aplicación.
Seleccione Agentes para Teams>Azure OpenAI> escriba una entrada en Entrada Azure clave de servicio de API ahora
Seleccione Agentes básicos para Teams. Si necesita una funcionalidad diferente para el bot, seleccione la opción necesaria.
Seleccione el lenguaje de programación como JavaScript.
Seleccione Carpeta predeterminada.
Para cambiar la ubicación predeterminada, siga estos pasos:
Seleccione Examinar.
Seleccione la ubicación del área de trabajo del proyecto.
Seleccione Seleccionar carpeta.
Escriba un nombre adecuado para la aplicación y, a continuación, seleccione la tecla Entrar .
Aparece un cuadro de diálogo en el que debe elegir sí o no para confiar en los autores de los archivos de esta carpeta.
Ahora, ha creado correctamente el área de trabajo del proyecto de bot de chat de IA.
Realice un recorrido por el código fuente de la aplicación bot.
Después de finalizar el scaffolding, explore los directorios y archivos del proyecto en la sección EXPLORER de la Visual Studio Code.
| Nombre de archivo o carpeta | Contenido |
|---|---|
env/.env.playground |
Archivo de configuración con variables de entorno que se pueden confirmar en Git. |
env/.env.playground.user |
El archivo de configuración con variables de entorno, incluidas las credenciales, que no se confirman en Git de forma predeterminada. |
appPackage |
Archivos de plantilla de manifiesto de aplicación e iconos de aplicación (color.png y outline.png). |
appPackage/manifest.json |
Manifiesto de aplicación para ejecutar la aplicación en un entorno local y remoto. |
src/app.js |
Controla las lógicas empresariales del bot de chat de IA. |
m365agents.yml |
Este es el archivo de proyecto principal del kit de herramientas de agentes. El archivo de proyecto define dos elementos principales: propiedades y definiciones de configuración y fase. |
m365agents.local.yml |
Esto invalida m365agents.yml con acciones que habilitan la ejecución y depuración locales. |
m365agents.playground.yml |
Esto invalida m365agents.yml con acciones que habilitan la ejecución y depuración locales en la herramienta de prueba. |
Compilación y ejecución de la aplicación de bot de chat de IA
Creación de una clave y un punto de conexión de OpenAI para el bot de chat de IA
Acceda a Portal Azure.
Seleccione Crear un recurso y busque Azure OpenAI.
Seleccione Azure OpenAI y seleccione Crear.
Rellene los detalles necesarios y seleccione Siguiente.
Seleccione Todas las redes, incluido Internet, para acceder a este recurso y, a continuación, seleccione Siguiente.
Rellene los detalles necesarios y seleccione Siguiente.
Seleccione Crear.
Ha creado correctamente la clave y el punto de conexión para el bot de chat de IA.
Nota:
También puede obtener la clave de API de OpenAI para depurar el bot de chat de IA.
Obtener Azure claves y punto de conexión de OpenAI
Seleccione Ir a recursos.
Seleccione Claves y punto de conexión en el panel izquierdo y copie la clave y el punto de conexión. Puede copiar KEY 1 o KEY 2.
Guarde la clave y el punto de conexión para su uso adicional.
Seleccione Implementaciones de modelos en el panel izquierdo y seleccione Administrar implementaciones.
Aparece la ventana Azure OpenAI Studio.
Seleccione Implementaciones en el panel izquierdo y seleccione + Crear nueva implementación.
Seleccione los detalles siguientes:
Seleccione gpt-35-turbo en la lista desplegable Seleccionar un modelo .
Nota:
Solo se admite el modelo gpt-35-turbo para el bot de chat de IA.
Seleccione 0301 (valor predeterminado) en la lista desplegable Versión del modelo .
Escriba El nombre de la implementación y seleccione Crear.
Copie y guarde el nombre de la implementación para su uso posterior.
Actualización Azure clave y puntos de conexión de OpenAI
Abra el proyecto en Visual Studio Code.
En EXPLORADOR, vaya al archivo env.env.playground.user>.
Escriba su SECRET_AZURE_OPENAI_API_KEY y SECRET_AZURE_OPENAI_ENDPOINT.
... SECRET_AZURE_OPENAI_API_KEY=<azure-openai-api-key> SECRET_AZURE_OPENAI_ENDPOINT=<azure-openai-endpoint>Vaya a src>app.js archivo.
Comente el
OpenAIcódigo y quite la marca de comentario delAzure OpenAIcódigo.Escriba el Azure nombre de la implementación de OpenAI en
azureDefaultDeployment.// Use OpenAI // apiKey: config.openAIKey, // defaultModel: "gpt-3.5-turbo", azureApiKey: config.azureOpenAIKey, azureDefaultDeployment: "gpt-35-turbo", azureEndpoint: config.azureOpenAIEndpoint,
Depuración y ejecución de la aplicación de bot de chat de IA
En el panel izquierdo, seleccione EJECUTAR y DEPURAR (Ctrl+Mayús+D) y, a continuación, seleccione Depurar en el área de juegos de agentes en la lista desplegable.
Agents Playground abre el bot de chat de IA en una página web.
Desencadenadores de actividad
Hay dos tipos de desencadenadores de actividad:
Desencadenadores de actividad predefinidos
Agents Playground proporciona desencadenadores de actividad predefinidos para probar las funcionalidades del bot.
| Categoría | Actividad | Controlador |
|---|---|---|
| Actividad de actualización de instalación del desencadenador | Instalación del bot Desinstalar bot |
onInstallationUpdate onInstallationUpdateAdded onInstallationUpdate onInstallationUpdateRemove |
| Desencadenar actividad de actualización de conversación | Agregar usuario Agregar bot Agregar canal |
onMembersAdded onTeamsMembersAddedEvent onMembersAdded onTeamsMembersAddedEvent onTeamsChannelCreatedEvent |
| Quitar usuario Eliminación del bot Quitar canal Quitar equipo |
onMembersRemoved onTeamsMembersRemovedEvent onMembersRemoved onTeamsMembersRemovedEvent onTeamsChannelDeletedEvent onTeamsTeamDeletedEvent |
|
| Cambiar el nombre del canal Cambiar el nombre del equipo |
onTeamsChannelRenamedEvent onTeamsTeamRenamedEvent |
Nota:
Todos los tipos de actividades no están disponibles en todos los ámbitos. Por ejemplo, no puede agregar ni quitar un canal en un chat personal o un chat de grupo.
Los desencadenadores de actividad predefinidos están disponibles en el menú Simular una actividad en el área de juegos de agentes.
Para simular una actividad Agregar usuario , siga estos pasos:
En el área de juegos de agentes, vaya a Simulación de unusuario de adición de actividad>.
Aparece un cuadro de diálogo para obtener una vista previa del controlador de actividad.
Seleccione Enviar actividad.
El bot envía la siguiente respuesta:
Desencadenadores de actividad personalizados
Puede usar la actividad Personalizada para personalizar los desencadenadores de actividad, por ejemplo, reactionsAdded para cumplir los requisitos de la aplicación de bot. El área de juegos de agentes rellena automáticamente las propiedades necesarias de la actividad. También puede modificar el tipo de actividad y agregar más propiedades.
Seleccione Simular unaactividad personalizada de actividad>.
Agregue
messageReactionpara personalizar la actividad en latypepropiedad :{ "type": "messageReaction", "reactionsAdded": [ { "type": "like" } ], "replyToId": "d60fd1cb-3e8f-44ef-849c-404806ba1b47" }Seleccione Enviar actividad.
El bot envía un
onReactionsAddedcontrolador en respuesta.
Desafío completo
¿Se le ocurrió una salida así?
Enhorabuena. Ha creado correctamente una aplicación de bot de chat de IA. Ahora, ha aprendido a depurar la aplicación de bot de chat de inteligencia artificial en Agents Playground.
Extensión de mensaje basada en API de compilación
Las extensiones de mensaje creadas mediante API (basada en API) mejoran significativamente la funcionalidad de las aplicaciones de Teams al permitirles interactuar con servicios externos. Las extensiones de mensajes basadas en API pueden ayudar a simplificar los flujos de trabajo al reducir la necesidad de cambiar entre diferentes aplicaciones.
Tutorial: Compilación de la extensión de mensaje basada en API
Nota:
Las extensiones de mensaje basadas en API solo admiten comandos de búsqueda.
Puede usar extensiones de mensajes basadas en API para integrar servicios externos que se usan habitualmente en el flujo de trabajo empresarial. Por ejemplo, una empresa que usa con frecuencia un sistema CRM para la administración de clientes podría usar una extensión de mensaje para capturar y mostrar datos de clientes directamente desde Teams. Esta aplicación ayuda a ahorrar tiempo y mejora la eficiencia al reducir la necesidad de cambiar entre diferentes aplicaciones. Esta característica se admite en todas las plataformas en las que Teams está disponible, incluidos los dispositivos móviles, web y de escritorio.
Requisitos previos para compilar una extensión de mensaje
Esta es una lista de las herramientas que necesita para compilar e implementar las aplicaciones.
| Instalar | Para usar... |
|---|---|
| Microsoft Teams | Microsoft Teams para colaborar con todos los usuarios con los que trabaje a través de aplicaciones para chat, reuniones o llamadas, todo en un solo lugar. |
| Microsoft Edge (recomendado) o Google Chrome | Un explorador con herramientas de desarrollo. |
| Visual Studio Code | Entornos de compilación de JavaScript, TypeScript o SharePoint Framework (SPFx). Use la versión 1.55 o posterior. |
| Cuenta de desarrollador de Microsoft 365 | Acceso a la cuenta de Teams con los permisos adecuados para instalar una aplicación. |
| Azure cuenta | Acceso a Azure recursos. |
| Documento de descripción de OpenAPI (OAD) | Documento en el que se describen las funcionalidades de la API. Para obtener más información, consulte Descripción de OpenAPI. |
Configuración del inquilino de desarrollo de Teams
Un inquilino es como un espacio o un contenedor para su organización en Teams, donde chatea, comparte archivos y ejecuta reuniones. Este espacio también es donde carga y prueba la aplicación personalizada. Vamos a comprobar si está listo para desarrollar con el inquilino.
Comprobación de la opción de carga de aplicaciones personalizadas
Después de crear la aplicación, debe cargarla en Teams sin distribuirla. Este proceso se conoce como carga de aplicaciones personalizada. Inicie sesión en su cuenta de Microsoft 365 para ver esta opción.
Nota:
La carga de aplicaciones personalizada es necesaria para obtener una vista previa y probar aplicaciones en el entorno local de Teams. Si no está habilitada, no puede obtener una vista previa y probar la aplicación en el entorno local de Teams.
¿Ya tiene un inquilino y tiene acceso de administrador? ¡Vamos a comprobar si realmente lo haces!
Compruebe si puede cargar una aplicación personalizada en Teams:
En el cliente de Teams, seleccione el icono Aplicaciones .
Seleccione Administrar las aplicaciones.
Seleccione Cargar una aplicación.
Busque la opción Cargar una aplicación personalizada. Si ve la opción , la carga de aplicaciones personalizada está habilitada.
Nota:
Póngase en contacto con el administrador de Teams si no encuentra la opción de cargar una aplicación personalizada.
Creación de un inquilino para desarrolladores de Teams gratuito (opcional)
Si no tiene una cuenta de desarrollador de Teams, puede obtenerla de forma gratuita. ¡Únete al programa para desarrolladores de Microsoft 365!
Seleccione Unirse ahora y siga las instrucciones en pantalla.
En la pantalla de bienvenida, seleccione Configurar suscripción A5.
Configure su cuenta de administrador. Cuando haya terminado, aparecerá la siguiente pantalla.
Inicie sesión en Teams con la cuenta de administrador que acaba de configurar. Compruebe que tiene la opción Cargar una aplicación personalizada en Teams.
Obtener una cuenta de Azure gratuita
Si desea hospedar la aplicación o acceder a los recursos en Azure, debe tener una suscripción de Azure. Cree una cuenta gratuita antes de empezar.
Tiene todas las herramientas para configurar su cuenta. A continuación, vamos a configurar el entorno de desarrollo y empezar a compilar. Seleccione primero la aplicación que desea compilar.
Crear documento de descripción de OpenAPI
OpenAPI Description (OAD) es la especificación estándar del sector que describe cómo se estructuran y describen los archivos OpenAPI. Es un formato legible y independiente del lenguaje para describir las API. Es fácil para los humanos y las máquinas leer y escribir. El esquema es legible y se representa en YAML o JSON.
Para interactuar con las API, es necesario un documento de descripción de OpenAPI. El documento Descripción de OpenAPI debe cumplir los siguientes criterios:
No se debe especificar la
authpropiedad .JSON y YAML son los formatos admitidos.
Se admiten las versiones 2.0 y 3.0.x de OpenAPI.
Teams no admite las construcciones oneOf, anyOf, allOf y not (swagger.io).
No se admite la construcción de matrices para la solicitud; sin embargo, se admiten objetos anidados dentro de un cuerpo de solicitud JSON.
El cuerpo de la solicitud, si está presente, debe ser application/Json para garantizar la compatibilidad con una amplia gama de API.
Defina una dirección URL del servidor de protocolo HTTPS para la
servers.urlpropiedad .Solo se admite la búsqueda de parámetros únicos.
Solo se permite un parámetro necesario sin un valor predeterminado.
Solo se admiten los métodos HTTP POST y GET.
El documento Descripción de OpenAPI debe tener un .
operationIdLa operación no debe requerir parámetros Header o Cookie sin valores predeterminados.
Un comando debe tener exactamente un parámetro.
Asegúrese de que no haya referencias remotas en el documento Descripción de OpenAPI.
Un parámetro obligatorio con un valor predeterminado se considera opcional.
Hemos usado la siguiente descripción de OpenAPI como ejemplo para este tutorial:
Descripción de OpenAPI
openapi: 3.0.1 info: title: OpenTools Plugin description: A plugin that allows the user to find the most appropriate AI tools for their use cases, with their pricing information. version: 'v1' servers: - url: https://gptplugin.opentools.ai paths: /tools: get: operationId: searchTools summary: Search for AI Tools parameters: - in: query name: search required: true schema: type: string description: Used to search for AI tools by their category based on the keywords. For example, a search for "tool to create music" provides a list of tools that can create music. responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/searchToolsResponse' "400": description: Search Error content: application/json: schema: ref: '#/components/schemas/searchToolsError' components: schemas: searchToolsResponse: required: - search type: object properties: tools: type: array items: type: object properties: name: type: string description: The name of the tool. opentools_url: type: string description: The URL to access the tool. main_summary: type: string description: A summary of what the tool is. pricing_summary: type: string description: A summary of the pricing of the tool. categories: type: array items: type: string description: The categories assigned to the tool. platforms: type: array items: type: string description: The platforms that this tool is available on. description: The list of AI tools. searchToolsError: type: object properties: message: type: string description: Message of the error.Nota:
Asegúrese de que la
required: truepropiedad solo está disponible para un parámetro. Si hay más de un parámetro necesario, puede actualizar la propiedad requerida arequired: falsepara los demás parámetros.
Puede validar si el documento Descripción de OpenAPI es válido. Para comprobarlo, siga estos pasos:
Vaya a Validador de Swagger o OpenAPI y valide el documento Descripción de OpenAPI.
Guarde el documento Descripción de OpenAPI.
Vaya al Editor de Swagger.
En el panel izquierdo, pegue la descripción de OpenAPI en el editor.
En el panel derecho, seleccione GET.
Seleccione Probar.
Escriba los valores del parámetro de búsqueda como Herramienta para crear música.
Seleccione Ejecutar. El editor swagger muestra una respuesta con una lista de productos.
Vaya a Cuerpoderespuesta de respuesta> del servidor.
En
products, copie el primer producto de la lista y guárdelo para futuras referencias.
Creación de una plantilla de representación de respuesta
Un documento de descripción de OpenAPI requiere una plantilla de representación de respuesta para que la aplicación responda a las solicitudes GET o POST. La plantilla de representación de respuesta consta de una plantilla de tarjeta adaptable, una plantilla de tarjeta de vista previa y metadatos.
Plantilla de tarjeta adaptable
Para crear una plantilla de tarjeta adaptable, siga estos pasos:
Vaya a ChatGPT y pregunte a la siguiente consulta en el área de redacción del mensaje:
Create an Adaptive Card Template that binds to the following response: "categories": [ "Music Generation", "AI Detection" ], "chatbot_short_url": "https://goto.opentools.ai/c/ai-music-generator", "main_summary": "AI Music Generator is an AI-powered music composing tool that allows users to create original and personalized music for various purposes. It can generate melodies, harmonies, and rhythms tailored to specific needs and preferences, with customization options such as genre, mood, length, and instrumentation. The tool is designed for creative individuals, from beginners to professionals, and can produce high-quality music in seconds. Every generated piece of music is royalty-free and can be used instantly, with no limitations on beat creation. With advanced AI technology, AI Music Generator makes music production accessible to everyone.", "name": "AI Music Generator", "opentools_url": "https://goto.opentools.ai/ai-music-generator", "platforms": [ "Web", "App", "API" ]Seleccione Enviar mensaje.
ChatGPT genera una respuesta con una plantilla de tarjeta adaptable que se enlaza a los datos de ejemplo. Guarde la plantilla tarjeta adaptable para futuras referencias.
A continuación se muestra un ejemplo de la plantilla tarjeta adaptable:
Plantilla de tarjeta adaptable
{ "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", "type": "AdaptiveCard", "version": "1.4", "body": [ { "type": "TextBlock", "text": "AI Music Generator", "weight": "Bolder", "size": "Large" }, { "type": "TextBlock", "text": "Categories", "size": "Medium" }, { "type": "TextBlock", "text": "Music Generation, AI Detection", "wrap": true }, { "type": "TextBlock", "text": "Description", "size": "Medium" }, { "type": "TextBlock", "text": "AI Music Generator is an AI-powered music composing tool that allows users to create original and personalized music for various purposes. It can generate melodies, harmonies, and rhythms tailored to specific needs and preferences, with customization options such as genre, mood, length, and instrumentation. The tool is designed for creative individuals, from beginners to professionals, and can produce high-quality music in seconds. Every generated piece of music is royalty-free and can be used instantly, with no limitations on beat creation. AI Music Generator is powered by advanced AI technology, and it makes music production accessible to everyone.", "wrap": true }, { "type": "TextBlock", "text": "Platform", "size": "Medium" }, { "type": "TextBlock", "text": "Web, App, API", "wrap": true } ], "actions": [ { "type": "Action.OpenUrl", "title": "Learn More", "url": "https://goto.opentools.ai/ai-music-generator" }, { "type": "Action.OpenUrl", "title": "Try It", "url": "https://goto.opentools.ai/c/ai-music-generator" } ] }Para comprobar si la tarjeta adaptable generada se enlaza a los datos de ejemplo, siga estos pasos:
Vaya a Designer de tarjeta adaptable.
Vaya a Seleccionar aplicación host y, a continuación, seleccione Microsoft Teams en la lista desplegable.
Vaya a CARD PAYLOAD EDITOR y pegue el código de plantilla de tarjeta adaptable.
Vaya a SAMPLE DATA EDITOR (EDITOR DE DATOS DE EJEMPLO ) y pegue la respuesta GET API que guardó anteriormente.
Seleccione Modo de vista previa. El diseñador de tarjetas adaptables muestra una tarjeta adaptable con los datos que enlazan la respuesta a la plantilla.
Creación de una plantilla de tarjeta en versión preliminar
La plantilla de tarjeta de vista previa puede contener propiedades title, subtitley image . Si la respuesta de API no tiene una imagen, puede quitar la propiedad image.
A continuación se muestra un ejemplo de una plantilla de tarjeta en versión preliminar:
Plantilla de tarjeta de vista previa
"previewCardTemplate": {
"title": "${if(name, name, 'N/A')}",
"subtitle": "$${if(price, price, 'N/A')}"
}
Cree una condición if para y titlesubtitle, donde:
- Si el nombre existe, el bot usa el nombre.
- Si el nombre no existe, el bot usa NA.
Por ejemplo, "title": "Name: ${if(name, name, 'N/A')}".
Guarde la plantilla de tarjeta de vista previa para futuras referencias.
Plantilla de representación de respuesta
La plantilla de representación de respuesta debe ajustarse al esquema hospedado en https://developer.microsoft.com/json-schemas/teams/v1.20/MicrosoftTeams.ResponseRenderingTemplate.schema.json.
Para crear una plantilla de representación de respuesta, siga estos pasos:
Cree un archivo JSON y agregue el código siguiente al archivo:
{ "$schema": "https://developer.microsoft.com/json-schemas/teams/v1.20/MicrosoftTeams.ResponseRenderingTemplate.schema.json", "version": "1.0", "jsonPath": "", "responseLayout": "", "responseCardTemplate": { }, "previewCardTemplate": { } }Actualice las propiedades de la plantilla de representación de respuesta como se indica a continuación:
# Nombre de la propiedad Valor 1. "$schema""https://developer.microsoft.com/json-schemas/teams/v1.20/MicrosoftTeams.ResponseRenderingTemplate.schema.json"2. "version""1.0"
versiones la versión de la plantilla de representación que se va a usar.3. "jsonPath""tools"
jsonPathes la ruta de acceso a uno o más resultados en la respuesta JSON de respuesta. Agregue ajsonPathlos datos o matrices pertinentes de la lista de productos en la respuesta de la API. En este caso, son herramientasjsonPath. Para obtener más información sobre cómo determinar la ruta de acceso JSON, consulte Consulta de JSON con ruta de acceso JSON.4. "responseLayout""list"
responseLayoutespecifica el diseño de los datos adjuntos. Se usa para las respuestas del resultado de tipo. Los tipos admitidos son list y grid. Si el cuerpo de la respuesta contiene un objeto con varios elementos, como texto, título e imagen, el diseño de la respuesta debe establecerse enlist. Si la respuesta de API solo contiene imágenes o miniaturas, el diseño de la respuesta debe establecerse engrid.5. "responseCardTemplate"Pegue el código de plantilla de tarjeta adaptable que guardó anteriormente.
responseCardTemplatees una plantilla de tarjeta adaptable para asignar la respuesta JSON a una tarjeta adaptable.6. "previewCardTemplate"Pegue el código de plantilla de tarjeta de vista previa que guardó anteriormente.
previewCardTemplatees una plantilla de tarjeta de vista previa que se usa para mostrar una vista previa de los resultados en el control flotante de la extensión de mensaje.Guarde la plantilla de representación de respuesta en la misma carpeta en la que guardó el documento Descripción de OpenAPI.
El código siguiente es un ejemplo de una plantilla de representación de respuesta:
Plantilla de representación de respuesta
{
"$schema": "https://developer.microsoft.com/json-schemas/teams/v1.20/MicrosoftTeams.ResponseRenderingTemplate.schema.json",
"version": "1.0",
"jsonPath": "tools",
"responseLayout": "list",
"responseCardTemplate": {
"type": "AdaptiveCard",
"version": "1.4",
"body": [
{
"type": "TextBlock",
"text": "AI Music Generator",
"weight": "Bolder",
"size": "Large"
},
{
"type": "TextBlock",
"text": "Categories",
"size": "Medium"
},
{
"type": "TextBlock",
"text": "Music Generation, AI Detection",
"wrap": true
},
{
"type": "TextBlock",
"text": "Description",
"size": "Medium"
},
{
"type": "TextBlock",
"text": "AI Music Generator is an AI-powered music composing tool that allows users to create original and personalized music for various purposes. It can generate melodies, harmonies, and rhythms tailored to specific needs and preferences, with customization options such as genre, mood, length, and instrumentation. The tool is designed for creative individuals, from beginners to professionals, and can produce high-quality music in seconds. Every generated piece of music is royalty-free and can be used instantly, with no limitations on beat creation. With advanced AI technology, AI Music Generator makes music production accessible to everyone.",
"wrap": true
},
{
"type": "TextBlock",
"text": "Platform",
"size": "Medium"
},
{
"type": "TextBlock",
"text": "Web, App, API",
"wrap": true
}
],
"actions": [
{
"type": "Action.OpenUrl",
"title": "Learn More",
"url": "https://goto.opentools.ai/ai-music-generator"
},
{
"type": "Action.OpenUrl",
"title": "Try It",
"url": "https://goto.opentools.ai/c/ai-music-generator"
}
]
},
"previewCardTemplate": {
"title": "${if(name, name, 'N/A')}",
"subtitle": "$${if(price, price, 'N/A')}"
}
}
Creación de un manifiesto de aplicación
Ahora, debe crear un manifiesto de aplicación (anteriormente denominado manifiesto de aplicación de Teams). En el manifiesto de la aplicación se describe cómo se integra la aplicación en el producto de Microsoft Teams.
Creación de un manifiesto de aplicación de Teams
Para crear el manifiesto, siga estos pasos:
Cree un nuevo archivo JSON. El manifiesto de la aplicación debe cumplir la versión 1.20 del esquema definido en Esquema de manifiesto de aplicación.
Agregue el código siguiente al archivo JSON:
Manifiesto de aplicación
{ "$schema": "https://developer.microsoft.com/json-schemas/teams/v1.20/MicrosoftTeams.schema.json", "manifestVersion": "1.20", "version": "1.0.3", "id": "<<YOUR-MICROSOFT-APP-ID>>", "packageName": "com.microsoft.teams.extension", "developer": { "name": "Teams App, Inc.", "websiteUrl": "https://www.example.com", "privacyUrl": "https://www.example.com/termofuse", "termsOfUseUrl": "https://www.example.com/privacy" }, "icons": { "color": "color.png", "outline": "outline.png" }, "name": { "short": "Search ME API", "full": "Search ME API full" }, "description": { "short": "product app for testing API Message Extensions", "full": "product app for testing API Message Extensions" }, "accentColor": "#FFFFFF", "composeExtensions": [ { "composeExtensionType": "", "apiSpecificationFile": "", "commands": [ { "context": [ "compose" ], "type": "query", "title": "API for fetching Klarna.", "id": "", "parameters": [ { "name": "", "title": "", "description": "" } ], "description": "", "apiResponseRenderingTemplateFile": "" } ] } ], "permissions": [ "identity", "messageTeamMembers" ], "validDomains": [] }Actualice las propiedades del manifiesto de la aplicación de la siguiente manera:
- Reemplace por
<<YOUR-MICROSOFT-APP-ID>>el identificador de aplicación de Microsoft del bot. - Actualice el valor de a
composeExtensionTypeapiBased. - Actualice el valor de
apiSpecificationFilea la ruta de acceso del archivo de descripción de OpenAPI. - Actualice el valor de a
commands.idsearchTools. - Actualice el valor de a
commands.titleSearch for AI Tools. - Actualice el valor de a
commands.descriptionSearch for AI Tools. - Actualice el valor de a
parameters.namesearch. Si no hay parámetros, los valores deben ser parámetros de consulta oproperties.namesi hacen referencia a una propiedad en el esquema del cuerpo de la solicitud. - Actualice a
apiResponseRenderingTemplateFilela ruta de acceso del archivo de plantilla de representación de respuesta. - Actualice el valor de
validDomainsal punto deservice URLconexión definido en el archivo de descripción de OpenAPI.
- Reemplace por
Guarde el manifiesto de aplicación de Teams en la misma carpeta en la que guardó el documento Descripción de OpenAPI y la plantilla de representación de respuesta.
Necesita una imagen de color y una imagen de esquema. Estas imágenes deben incluirse en la carpeta y hacer referencia a ellas en el manifiesto de la aplicación de Teams.
Comprima el contenido de la carpeta. El archivo ZIP debe incluir los siguientes archivos:
- Documento de descripción de OpenAPI
- Plantilla de representación de respuesta
- Manifiesto de la aplicación
- Icono de color
- Icono de esquema
Carga de una aplicación personalizada en Teams
Inicie sesión en el entorno de prueba de Teams para probar la aplicación en Teams. Para cargar una aplicación personalizada en Teams, siga estos pasos:
Vaya a Microsoft Teams e inicie sesión con sus credenciales de inquilino de prueba.
Vaya a Aplicaciones>Administrar la aplicación>Carga de una aplicación.
Seleccione Cargar una aplicación personalizada.
Seleccione el archivo ZIP creado y seleccione Abrir.
Seleccione Agregar.
Seleccione Abrir.
Vaya a un chat, seleccione + en el área de redacción del mensaje y busque la aplicación.
Seleccione la aplicación y realice una consulta de búsqueda.
La aplicación responde con una tarjeta adaptable en la ventana de chat.
Seleccione Enviar.
Enhorabuena. ¡Lo ha conseguido! Ha aprendido a crear una extensión de mensaje basada en API mediante el documento Descripción de OpenAPI.
Compilación de un bot con autenticación sso
Los bots conversacionales de Microsoft Teams realizan tareas automatizadas repetitivas iniciadas por los usuarios, como el servicio al cliente. El usuario debe iniciar sesión varias veces sin autenticación de inicio de sesión único (SSO). Con los métodos de autenticación sso, los usuarios no necesitan iniciar sesión en el bot varias veces.
Tutorial: Compilación de un bot con autenticación sso
Un bot se comporta de forma diferente en función de la conversación en la que esté implicado:
- Los bots en conversaciones de chat de canal y grupo requieren que los usuarios accedan al @mention bot.
- Los bots en una conversación uno a uno no requieren una @mention. Todos los mensajes enviados por el usuario se enrutan al bot.
Esta guía paso a paso le ayuda a crear un bot con autenticación sso. Verá la siguiente salida:
Requisitos previos para compilar un bot
Asegúrese de instalar las herramientas siguientes y de configurar el entorno de desarrollo:
| Instalar | Para usar... |
|---|---|
| Microsoft Teams | Microsoft Teams para colaborar con todos los usuarios con los que trabaje a través de aplicaciones para chat, reuniones y llamadas en un solo lugar. |
| Visual Studio 2022 | Puede instalar la versión empresarial en Visual Studio 2022 e instalar las cargas de trabajo ASP.NET y desarrollo web. Use la versión más reciente. |
| Cuenta de desarrollador de Microsoft 365 | Acceso a la cuenta de Teams con los permisos adecuados para instalar una aplicación. |
| Túnel de desarrollo | Las características de aplicaciones de Teams (bots conversacionales, extensiones de mensajes y webhooks entrantes) necesitan conexiones entrantes. Un túnel conecta el sistema de desarrollo a Teams. Dev tunnel es una herramienta eficaz para abrir de forma segura tu host local a Internet y controlar quién tiene acceso. El túnel de desarrollo está disponible en Visual Studio 2022, versión 17.7.0 o posterior. o también puede usar ngrok como túnel para conectar el sistema de desarrollo a Teams. No es necesario para las aplicaciones que solo incluyen pestañas. Este paquete se instala en el directorio del proyecto (mediante npm devDependencies). |
Nota:
Después de descargar ngrok, regístrese e instale authtoken.
Configuración del inquilino de desarrollo de Teams
Un inquilino es como un espacio o un contenedor donde chatea, comparte archivos y ejecuta reuniones para su organización en Teams. También puede cargar y probar la aplicación personalizada.
Comprobación de una opción de carga de aplicación personalizada
Después de crear la aplicación, debe cargarla en Teams sin distribuirla. Este proceso se conoce como carga de aplicaciones personalizada. Inicie sesión en su cuenta de Microsoft 365 para ver esta opción.
Nota:
La carga de aplicaciones personalizada es necesaria para obtener una vista previa y probar aplicaciones en el entorno local de Teams. Habilite la carga de la aplicación para obtener una vista previa y probar la aplicación localmente en Teams.
¿Ya tiene un inquilino y tiene acceso de administrador? ¡Vamos a comprobar si realmente lo haces!
Para comprobar las aplicaciones de carga personalizadas en Teams:
En el cliente de Teams, seleccione el icono Aplicaciones .
Seleccione Administrar las aplicaciones.
Seleccione Cargar una aplicación.
Busque la opción Cargar una aplicación personalizada. Si ve la opción , la carga de aplicaciones personalizada está habilitada.
Nota:
Póngase en contacto con el administrador de Teams si no tiene la opción de cargar una aplicación personalizada.
Creación de un inquilino para desarrolladores de Teams gratuito
Si no tiene una cuenta de desarrollador de Teams, puede obtenerla de forma gratuita. ¡Únete al programa para desarrolladores de Microsoft 365!
Seleccione Unirse ahora y siga las instrucciones en pantalla.
En la pantalla de bienvenida, seleccione Configurar suscripción E5.
Configure una cuenta de administrador. Una vez finalizada, se muestra la pantalla siguiente.
Inicie sesión en Teams con la nueva cuenta de administrador que acaba de configurar. Compruebe que tiene la opción Cargar una aplicación personalizada en Teams.
Configuración del entorno local
Siga estos pasos para clonar el repositorio:
Abra Microsoft-Teams-Samples.
Seleccione Código.
En el menú desplegable, seleccione Abrir con GitHub Desktop.
Seleccione Clonar.
Registro de Microsoft Entra aplicación
Los pasos siguientes le ayudan a crear y registrar el bot en el Azure Portal:
- Cree y registre la aplicación de Azure.
- Cree un secreto de cliente para habilitar la autenticación sso del bot.
- Agregue el canal de Teams para implementar el bot.
- Cree un túnel a los puntos de conexión del servidor web mediante el túnel de desarrollo (recomendado) o ngrok.
- Agregue el punto de conexión de mensajería al túnel de desarrollo que ha creado.
Agregar registro de aplicación
Acceda a Portal Azure.
Seleccione Registros de aplicaciones.
Seleccione + Nuevo registro.
Escriba el nombre de la aplicación.
Seleccione la opción de inquilino, según sea necesario.
Seleccione Registrar.
La aplicación está registrada en Microsoft Entra ID. Aparece la página de información general de la aplicación.
Nota:
Guarde el identificador de la aplicación desde el identificador de aplicación (cliente) y el identificador de directorio (inquilino) para su uso posterior.
Creación de un túnel
Siga uno de los dos métodos siguientes para crear un túnel.
Abra Visual Studio.
Seleccione Crear un nuevo proyecto.
En el cuadro de búsqueda, escriba ASP.NET. En los resultados de la búsqueda, seleccione ASP.NET Core aplicación web.
Seleccione Siguiente.
Escriba Nombre del proyecto y seleccione Siguiente.
Seleccione Crear.
Aparece una ventana de información general.
En la lista desplegable de depuración, seleccione Túneles de desarrollo (sin túnel activo)>Crear un túnel....
Aparecerá una ventana emergente.
Actualice los detalles siguientes en la ventana emergente:
- Cuenta: escriba una cuenta de Microsoft o GitHub.
- Nombre: escriba un nombre para el túnel.
- Tipo de túnel: en la lista desplegable, seleccione Temporal.
- Acceso: en la lista desplegable, seleccione Público.
Seleccione Aceptar.
Aparece una ventana emergente que muestra que el túnel de desarrollo se ha creado correctamente.
Seleccione Aceptar.
Puede encontrar el túnel que ha creado en la lista desplegable de depuración de la siguiente manera:
Seleccione F5 para ejecutar la aplicación en el modo de depuración.
Si aparece un cuadro de diálogo Advertencia de seguridad , seleccione Sí.
Aparecerá una ventana emergente.
Seleccione Continuar.
La página principal del túnel de desarrollo se abre en una nueva ventana del explorador y el túnel de desarrollo ya está activo.
Vaya a Visual Studio y seleccione Ver > salida.
En el menú desplegable Consola de salida , seleccione Túneles de desarrollo.
La consola de salida muestra la dirección URL del túnel de desarrollo.
Agregar autenticación web
En el panel izquierdo, en Administrar, seleccione Autenticación.
Seleccione Agregar una plataforma>web.
Escriba el URI de redireccionamiento de la aplicación anexando
auth-endal nombre de dominio completo. Por ejemplo,https://your-devtunnel-domain/auth-endohttps://your-ngrok-domain/auth-end.En Flujos híbridos y de concesión implícita, seleccione las casillas Tokens de acceso y tokens de identificador .
Seleccione Configurar.
En Web, seleccione Agregar URI.
Escriba
https://token.botframework.com/.auth/web/redirect.Haga clic en Guardar.
Creación de un secreto de cliente
Nota:
Si encuentra el error, la directiva de todo el inquilino bloquea los secretos de cliente. Póngase en contacto con el administrador de inquilinos para obtener más información. En su lugar, puede crear un certificado. Para obtener instrucciones paso a paso, consulte creación de un certificado para el registro de aplicaciones.
En el panel izquierdo, en Administrar, seleccione Certificados & secretos.
En Secretos de cliente, seleccione + Nuevo secreto de cliente.
Aparece la ventana Agregar un secreto de cliente .
Escriba Descripción.
Seleccione Agregar.
En Valor, seleccione Copiar en el Portapapeles para guardar el valor del secreto de cliente para su uso posterior.
Agregar permisos de API
En el panel izquierdo, seleccione Permisos de API.
Seleccione + Agregar un permiso.
Seleccione Microsoft Graph.
Seleccione Permisos delegados
SeleccioneUsuario.Lectura>.
Seleccione Agregar permisos.
Nota:
- Si a una aplicación no se le concede el consentimiento del administrador de TI, los usuarios deben proporcionar su consentimiento la primera vez que usen una aplicación.
- Los usuarios deben dar su consentimiento a los permisos de API solo si la aplicación de Microsoft Entra está registrada en un inquilino diferente.
Agregar uri de identificador de aplicación
En el panel izquierdo, en Administrar, seleccione Exponer una API.
Junto a URI de id. de aplicación, seleccione Agregar.
Actualice el URI del identificador de aplicación en el
api://botid-{AppID}formato y seleccione Guardar.
Agregar un ámbito
En el panel izquierdo, en Administrar, seleccione Exponer una API.
Seleccione + Agregar un ámbito.
Escriba access_as_user como nombre del ámbito.
En ¿Quién puede dar su consentimiento?, seleccione Administradores y usuarios.
Actualice los valores del resto de los campos de la siguiente manera:
Escriba Teams para acceder al perfil del usuario como Administración nombre para mostrar del consentimiento.
Entrar Permite a Teams llamar a las API web de la aplicación como el usuario actual como Administración descripción del consentimiento.
Escriba Teams para acceder al perfil de usuario y realizar solicitudes en nombre del usuario como nombre para mostrar del consentimiento del usuario.
Escriba Habilitar Teams para llamar a las API de esta aplicación con los mismos derechos que el usuario que ladescripción del consentimiento del usuario.
Asegúrese de que Estado se establece en Habilitado.
Seleccione Agregar ámbito.
En la imagen siguiente se muestran los campos y los valores:
Nota:
El nombre del ámbito debe coincidir con el URI del identificador de aplicación con
/access_as_useranexado al final.
Agregar aplicación cliente
En el panel izquierdo, en Administrar, seleccione Exponer una API.
En Aplicaciones cliente autorizadas, identifique las aplicaciones que desea autorizar para la aplicación web de la aplicación.
Seleccione + Agregar una aplicación cliente.
Agregue aplicaciones web de Teams para dispositivos móviles o de escritorio y Teams.
Para equipos móviles o de escritorio de Teams: escriba el identificador de cliente como
1fec8e78-bce4-4aaf-ab1b-5451cc387264.
En Web de Teams: escriba el identificador de cliente como
5e3ce6c0-2b1f-4285-8d4b-75ee78787346.
Active la casilla Ámbitos autorizados .
Seleccione Agregar aplicación.
En la imagen siguiente se muestra el identificador de cliente:
Actualizar el manifiesto
En el panel izquierdo, seleccione Manifiesto.
Establezca el valor de en
requestedAccessTokenVersion2y seleccione Guardar.
Creación del bot
Creación de un recurso de bot de Azure
Nota:
Si ya está probando el bot en Teams, cierre la sesión de esta aplicación y Teams. Para ver este cambio, vuelva a iniciar sesión.
Ve a Inicio.
Seleccione + Crear un recurso.
En el cuadro de búsqueda, escriba Azure Bot.
Seleccione Introducir.
Seleccione Azure Bot.
Seleccione Crear.
Escriba el nombre del bot en Identificador de bot.
Seleccione su Suscripción en la lista desplegable.
Seleccione el Grupo de recursos en la lista desplegable.
Si no tiene un grupo de recursos existente, puede crear un nuevo grupo de recursos. Para crear un nuevo grupo de recursos, siga estos pasos:
- Seleccione Crear nuevo.
- Escriba el nombre del recurso y seleccione Aceptar.
- Seleccione una ubicación en la lista desplegable Nueva ubicación del grupo de recursos .
En Precios, seleccione Cambiar plan.
Seleccione FO FreeSelect (Seleccionar libre> de FO).
En Id. de aplicación de Microsoft, seleccione Tipo de aplicación como multiinquilino.
En Tipo de creación, seleccione Usar registro de aplicación existente.
Escriba el identificador de aplicación.
Nota:
No puede crear más de un bot con el mismo identificador de aplicación de Microsoft.
Seleccione Revisar y crear.
Una vez superada la validación, seleccione Crear.
El bot tarda unos minutos en aprovisionarse.
Seleccione Ir a recursos.
Ha creado correctamente el bot de Azure.
Agregar un canal de Teams
En el panel izquierdo, seleccione Canales.
En Canales disponibles, seleccione Microsoft Teams.
Active la casilla para aceptar los Términos de servicio.
Seleccione Aceptar.
Seleccione Aplicar.
Adición de un punto de conexión de mensajería
Use una de las siguientes maneras de agregar un punto de conexión de mensajería:
Use la dirección URL del túnel de desarrollo en la consola de salida como punto de conexión de mensajería.
En el panel izquierdo, en Configuración, seleccione Configuración.
Actualice el punto de conexión de mensajería con el formato
https://your-devtunnel-domain/api/messages.
Seleccione Aplicar.
Ha configurado correctamente un bot en Azure Bot Service.
Nota:
Si la clave de instrumentación de Application Insights muestra un error, actualice con el identificador de aplicación.
Agregar una configuración de conexión de OAuth
En el panel izquierdo, seleccione Configuración.
Seleccione el botón Agregar ajustes de conexión de OAuth en la pantalla Configuración.
En Nueva configuración de conexión, actualice los detalles siguientes:
- Nombre: escriba un nombre para la nueva configuración de conexión. Puede usar el nombre en la configuración del código de bot service.
- Proveedor de servicios: en la lista desplegable, seleccione Azure Active Directory v2.
- Id. de cliente: actualice el identificador de aplicación de Microsoft.
- Secreto de cliente: actualice el valor de los secretos de cliente.
- Dirección URL de Intercambio de tokens: actualice el URI del identificador de aplicación.
- Identificador de inquilino: escriba Común.
- Ámbitos: escriba User.Read.
Haga clic en Guardar.
Configuración de la configuración de la aplicación y archivos de manifiesto
Vaya al archivo appsettings.json en el repositorio clonado.
Abra el archivo appsettings.json y actualice la siguiente información:
- Establezca en
"MicrosoftAppId"el identificador de aplicación de Microsoft del bot. - Establezca en
"MicrosoftAppPassword"el valor de id. de secreto de cliente del bot. - Establezca
ConnectionNamecomo nombre de conexión de OAuth. - Establezca en
"MicrosoftAppType"MultiTenant. - Establézcalo en
"MicrosoftAppTenantId"común.
- Establezca en
Vaya al archivo manifest.json en el repositorio clonado.
Abra el archivo manifest.json y actualice los cambios siguientes:
- Reemplace todas las repeticiones de por su identificador de aplicación de
"{TODO: MicrosoftAppId}"Microsoft. - Establezca en
"<<domain-name>>"el dominio de ngrok o de túnel de desarrollo.
- Reemplace todas las repeticiones de por su identificador de aplicación de
Compilación y ejecución del servicio
Abra Visual Studio.
Vaya a Archivo>Abrir>proyecto o solución....
En bot-conversation-sso-quickstart>csharp_dotnetcore carpeta y seleccione BotConversationSsoQuickstart.sln archivo.
Seleccione F5 para ejecutar el proyecto.
Si aparece un cuadro de diálogo Advertencia de seguridad , seleccione Sí.
Se abre una página web con un mensaje El bot está listo.
Nota:
Esta página solo aparece cuando se navega a la dirección URL de localhost.
Solución de problemas
Si recibe el error No se puede encontrar el paquete , siga estos pasos:
- Vaya a Herramientas>Configuración del Administrador> depaquetes NuGet.
- En la ventana Opciones que aparece, seleccioneOrígenes de paquetes del Administrador > de paquetes NuGet.
- Seleccione Agregar.
- En Nombre, escriba
nuget.orgy, en Origen, escribahttps://api.nuget.org/v3/index.json. - Seleccione Actualizar y Aceptar.
- Recompile el proyecto.
Carga del bot en Teams
En el repositorio clonado, vaya a Microsoft-Teams-Samples>>bot-conversation-sso-quickstart>csharp_dotnetcore>TeamsApp>appPackage.
Cree un archivo .zip con los siguientes archivos presentes en la carpeta appPackage :
- manifest.json
- outline.png
- color.png
Vaya a Microsoft Teams.
- En el cliente de Teams, seleccione Aplicaciones.
- Seleccione Administrar las aplicaciones.
- Seleccione Cargar una aplicación.
- Busque la opción Cargar una aplicación personalizada.
Seleccione Abrir para cargar el archivo .zip que ha creado en la carpeta Manifiesto .
Seleccione Agregar para agregar el bot al chat.
Seleccione Abrir.
Puede interactuar con el bot enviándole un mensaje. El bot intercambia un token de SSO y llama a la Graph API en su nombre. Mantiene la sesión iniciada a menos que envíe un mensaje para cerrar la sesión.
Envíe un mensaje al bot. El bot de conversación pide consentimiento por primera vez.
Para escritorio: seleccione Continuar para conceder permisos al cliente de Teams para acceder al bot.
Nota:
Ahora ha configurado el inicio de sesión único con la aplicación de bot y es el único momento en que tendrá que dar su consentimiento.
Para dispositivos móviles: seleccione Aceptar.
Nota:
Ahora ha configurado el inicio de sesión único con la aplicación de bot en dispositivos móviles y es el único momento en que tendrá que dar su consentimiento.
¿Se te ocurrió algo como esto?
Ha completado el tutorial para empezar a compilar un bot con autenticación sso.
Compilación de la primera aplicación de pestaña con C sharp
Inicie el desarrollo de aplicaciones de Microsoft Teams mediante la creación de la primera aplicación de Teams con una funcionalidad de pestaña.
En este tutorial, aprenderá lo siguiente:
- Cómo configurar un nuevo proyecto.
- Cómo crear aplicaciones con funcionalidad de tabulación mediante C# y Microsoft Visual Studio 2022.
Tutorial: Compilación de la primera aplicación de pestaña con C#
Esta guía paso a paso le ayuda a crear una pestaña con Microsoft 365 Agents Toolkit (anteriormente conocido como Kit de herramientas de Teams). Verá la siguiente salida después de completar esta guía:
Requisitos previos para compilar la aplicación
Esta es una lista de herramientas que debe instalar para compilar e implementar una aplicación de Teams.
| Instalar | Para usar... |
|---|---|
| Microsoft Teams | Microsoft Teams para colaborar con todos los usuarios con los que trabaje a través de aplicaciones para chat, reuniones y llamadas a todos en un solo lugar. |
|
Visual Studio 2022 |
Puede instalar la versión empresarial en Visual Studio 2022 e instalar las cargas de trabajo ASP.NET y desarrollo web. Use la versión más reciente. |
| Kit de herramientas de agentes de Microsoft 365 | Extensión de Visual Studio que crea un scaffolding de proyecto para la aplicación. Use la versión más reciente. |
Instalación del kit de herramientas de agentes
Agents Toolkit ayuda a simplificar el proceso de desarrollo con herramientas para crear un scaffolding de proyecto para la aplicación. Crea la estructura de directorios necesaria para todas las funcionalidades seleccionadas con los archivos necesarios en su lugar, listos para compilar el proyecto.
Puede descargar el instalador de Visual Studio más reciente. Agents Toolkit está disponible como extensión en Visual Studio.
Después de abrir el instalador de Visual Studio en la ventana de cargas de trabajo emergentes:
Seleccione ASP.NET y desarrollo web.
En Detalles de> instalaciónOpcional, seleccione Herramientas de desarrollo de Microsoft Teams.
Seleccione Instalar.
Seleccione Iniciar. Aparece la ventana de la aplicación de Visual Studio 2022.
Vaya a Extensiones>Administrar extensiones.
Aparece la ventana Administrar extensión:
En el panel izquierdo, seleccione Instalado. La extensión Microsoft 365 Agents Toolkit está disponible.
Configuración del inquilino de desarrollo de Teams
Un inquilino es como un espacio o un contenedor para su organización en Teams, donde chatea, comparte archivos y ejecuta reuniones. Este espacio también es donde carga y prueba la aplicación personalizada. Vamos a comprobar si está listo para desarrollar con el inquilino.
Comprobación de la opción de carga de aplicaciones personalizadas
Después de crear la aplicación, debe cargarla en Teams sin distribuirla. Este proceso se conoce como carga de aplicaciones personalizada. Inicie sesión en su cuenta de Microsoft 365 para ver esta opción.
Nota:
La carga de aplicaciones personalizada es necesaria para obtener una vista previa y probar aplicaciones en el entorno local de Teams. Si no está habilitada, no podrá obtener una vista previa y probar la aplicación en el entorno local de Teams.
¿Ya tiene un inquilino y acceso de administrador? ¡Vamos a comprobar si lo haces!
Compruebe si puede cargar aplicaciones personalizadas en Teams:
Abra Microsoft Teams y seleccione el icono Aplicaciones .
Seleccione Administrar las aplicaciones.
Seleccione Cargar una aplicación.
Busque la opción Cargar una aplicación personalizada . Si ve la opción , la carga de aplicaciones personalizada está habilitada.
Nota:
Si no encuentra la opción de cargar una aplicación personalizada, póngase en contacto con el administrador de Teams.
Creación de un inquilino para desarrolladores de Teams gratuito (opcional)
Si no tiene una cuenta de Teams, puede obtenerla de forma gratuita. ¡Únete al programa para desarrolladores de Microsoft 365!
Seleccione Unirse ahora y siga las instrucciones en pantalla.
En la pantalla de bienvenida, seleccione Configurar suscripción E5.
Configure su cuenta de administrador. Una vez finalizada, aparece la siguiente pantalla:
Inicie sesión en Teams con la cuenta de administrador que configuró. Compruebe que tiene la opción Cargar una aplicación personalizada en Teams.
Obtener una cuenta de Azure gratuita
Si desea hospedar la aplicación o acceder a los recursos en Azure, debe tener una suscripción de Azure. Cree una cuenta gratuita antes de empezar.
Ahora tiene todas las herramientas para configurar su cuenta. A continuación, vamos a configurar el entorno de desarrollo y empezar a compilar. Seleccione primero la aplicación que desea crear.
Creación del área de trabajo del proyecto para la aplicación de pestaña mediante C sharp
Inicie el desarrollo de aplicaciones de Microsoft Teams mediante la creación de la primera aplicación. Esta aplicación usa la funcionalidad de tabulación. Si se cumplen los requisitos previos, comencemos.
Los pasos siguientes le ayudan a crear el área de trabajo del proyecto para la aplicación de pestaña en Visual Studio:
Abra Visual Studio.
Seleccione Nuevo proyecto.
En el cuadro de búsqueda, escriba Teams.
Seleccione Microsoft 365 Agents Next (Agentes de Microsoft 365a continuación).>
Escriba los detalles siguientes para configurar el nuevo proyecto.
Escriba el nombre del proyecto requerido en Nombre del proyecto.
Seleccione la ubicación necesaria para guardar archivos y carpetas del proyecto.
Seleccione Crear.
SeleccioneCrearpestaña>.
La aplicación de pestaña Teams se crea en pocos segundos.
Compilación y ejecución de la primera aplicación de pestaña con C sharp
Después de configurar el área de trabajo del proyecto con Agents Toolkit, compile la aplicación de pestaña.
Inicio de sesión en su cuenta de Microsoft 365
Use su cuenta de Microsoft 365 para iniciar sesión en Teams. Si usa un inquilino del programa para desarrolladores de Microsoft 365, la cuenta de administrador que configuró al registrarse es la cuenta de Microsoft 365.
En el Explorador de soluciones, en Solución MyTeamsApp, haga clic con el botón derecho en MyTeamsApp.
Seleccione Microsoft 365 Agents Toolkit>Seleccione Cuenta de Microsoft 365.
SeleccioneContinuarcuenta> de Microsoft 365.
Compilación y ejecución de la aplicación localmente en Visual Studio
Para crear y ejecutar la aplicación localmente:
Seleccione Depurar>Iniciar depuración o F5.
Visual Studio inicia el proceso de depuración y abre el cliente web de Teams en un explorador. Si se le solicita, inicie sesión con la cuenta de Microsoft 365.
Seleccione Agregar.
Seleccione Abrir para abrir la aplicación en el ámbito personal.
Como alternativa, puede buscar y seleccionar el ámbito necesario o seleccionar un canal o chat de la lista, y desplazarse por el cuadro de diálogo para seleccionar Ir.
Enhorabuena, la primera aplicación de pestaña se ejecuta en Teams.
Obtenga información sobre cómo solucionar problemas si la aplicación no se ejecuta localmente.
Para ejecutar correctamente la aplicación en Teams, asegúrese de que ha habilitado la carga de aplicaciones personalizadas en su cuenta de Teams. Puede obtener más información sobre la carga de aplicaciones personalizadas en la sección requisitos previos .
Ha creado correctamente una aplicación de pestaña mediante C#. Agents Toolkit ha agregado el scaffolding necesario a la estructura de directorios de la aplicación. El tutorial ya está completo.
Agregar sso a la aplicación de extensión de mensaje y pestaña
Microsoft Entra inicio de sesión único (SSO) permite la autenticación de usuario sin problemas en Teams.
Aspectos clave del inicio de sesión único de Microsoft Entra:
- Permite al usuario iniciar sesión automáticamente después del primer inicio de sesión.
- Permite al usuario iniciar sesión en otros dispositivos sin volver a escribir las credenciales.
- Obtiene el token para el usuario que ha iniciado sesión.
Tutorial: Incorporación del inicio de sesión único a la aplicación de extensión de mensaje y pestaña
Esta guía paso a paso le ayuda a crear pestañas y extensiones de mensajes que habilitan la autenticación Microsoft Entra SSO. Verá la siguiente salida:
Requisitos previos para agregar sso a aplicaciones
Asegúrese de instalar las herramientas siguientes y de configurar el entorno de desarrollo:
| # | Instalar | Para usar... |
|---|---|---|
| 1. | Microsoft Teams | Microsoft Teams para colaborar con todos los usuarios con los que trabaje a través de aplicaciones para chat, reuniones y llamadas en un solo lugar. |
| 2. | Cuenta de desarrollador de Microsoft 365 | Acceso a la cuenta de Teams con los permisos adecuados para instalar una aplicación. |
| 3. | SDK de .NET Core | Enlaces personalizados para la depuración local y las implementaciones de aplicaciones de Azure Functions. Si no ha instalado la versión más reciente, instale la versión portátil. |
| 4. | Visual Studio 2022 | Puede instalar la versión empresarial en Visual Studio 2022 e instalar las cargas de trabajo ASP.NET y desarrollo web. Use la versión más reciente. |
| 5. | Túnel de desarrollo | Las características de aplicaciones de Teams (bots conversacionales, extensiones de mensajes y webhooks entrantes) necesitan conexiones entrantes. Un túnel conecta el sistema de desarrollo a Teams. Dev tunnel es una herramienta eficaz para abrir de forma segura tu host local a Internet y controlar quién tiene acceso. El túnel de desarrollo está disponible en Visual Studio 2022, versión 17.7.0 o posterior. o también puede usar ngrok como túnel para conectar el sistema de desarrollo a Teams. No es necesario para las aplicaciones que solo incluyen pestañas. Este paquete se instala en el directorio del proyecto (mediante npm devDependencies). |
Nota:
Después de descargar ngrok, regístrese e instale authtoken.
Configuración del entorno local
Abra Microsoft-Teams-Samples.
Seleccione Código.
En el menú desplegable, seleccione Abrir con GitHub Desktop.
Seleccione Clonar.
Registro de Microsoft Entra aplicación
Los pasos siguientes le ayudan a crear y registrar el bot en Azure Portal:
- Cree y registre la aplicación de Azure.
- Cree un secreto de cliente para habilitar la autenticación sso del bot.
- Agregue el canal de Teams para implementar el bot.
- Cree un túnel a los puntos de conexión del servidor web mediante el túnel de desarrollo (recomendado) o ngrok.
- Agregue el punto de conexión de mensajería al túnel de desarrollo que ha creado.
Agregar registro de aplicación
Acceda a Portal Azure.
Seleccione Registros de aplicaciones.
Seleccione + Nuevo registro.
Escriba el nombre de la aplicación.
Seleccione Cuentas en cualquier directorio organizativo (cualquier inquilino Microsoft Entra ID multiinquilino).
Seleccione Registrar.
La aplicación está registrada en Microsoft Entra ID. Aparece la página de información general de la aplicación.
Nota:
Guarde el identificador de la aplicación desde el identificador de aplicación (cliente) y el identificador de directorio (inquilino) para su uso posterior.
Creación de un túnel
Seleccione una de las siguientes maneras de crear un túnel:
Abra Visual Studio.
Seleccione Crear un nuevo proyecto.
En el cuadro de búsqueda, escriba ASP.NET. En los resultados de la búsqueda, seleccione ASP.NET Core aplicación web.
Seleccione Siguiente.
Escriba Nombre del proyecto y seleccione Siguiente.
Seleccione Crear.
Aparece una ventana de información general.
En la lista desplegable de depuración, seleccione Túneles de desarrollo (sin túnel activo)>Crear un túnel....
Aparecerá una ventana emergente.
Actualice los detalles siguientes en la ventana emergente:
- Cuenta: escriba una cuenta de Microsoft o GitHub.
- Nombre: escriba un nombre para el túnel.
- Tipo de túnel: en la lista desplegable, seleccione Temporal.
- Acceso: en la lista desplegable, seleccione Público.
Seleccione Aceptar.
Aparece una ventana emergente que muestra que el túnel de desarrollo se ha creado correctamente.
Seleccione Aceptar.
Puede encontrar el túnel que ha creado en la lista desplegable de depuración de la siguiente manera:
Seleccione F5 para ejecutar la aplicación en el modo de depuración.
Si aparece un cuadro de diálogo Advertencia de seguridad , seleccione Sí.
Aparecerá una ventana emergente.
Seleccione Continuar.
La página principal del túnel de desarrollo se abre en una nueva ventana del explorador y el túnel de desarrollo ya está activo.
Vaya a Visual Studio y seleccione Ver > salida.
En el menú desplegable Consola de salida , seleccione Túneles de desarrollo.
La consola de salida muestra la dirección URL del túnel de desarrollo.
Adición de una autenticación web
En el panel izquierdo, en Administrar, seleccione Autenticación.
Seleccione Agregar una plataforma>web.
Escriba el URI de redireccionamiento de la aplicación anexando
auth-endal nombre de dominio completo. Por ejemplo,https://your-devtunnel-domain/auth-endohttps://your-ngrok-domain/auth-end.En Flujos híbridos y de concesión implícita, seleccione las casillas Tokens de acceso y tokens de identificador .
Seleccione Configurar.
En Web, seleccione Agregar URI.
Escriba
https://token.botframework.com/.auth/web/redirect.Haga clic en Guardar.
Creación de un secreto de cliente
Nota:
Si encuentra el error, la directiva de todo el inquilino bloquea los secretos de cliente. Póngase en contacto con el administrador de inquilinos para obtener más información. En su lugar, puede crear un certificado. Para obtener instrucciones paso a paso, consulte creación de un certificado para el registro de aplicaciones.
En el panel izquierdo, en Administrar, seleccione Certificados & secretos.
En Secretos de cliente, seleccione + Nuevo secreto de cliente.
Aparece la ventana Agregar un secreto de cliente .
Escriba Descripción.
Seleccione Agregar.
En Valor, seleccione Copiar en el Portapapeles para guardar el valor del secreto de cliente para su uso posterior.
Agregar permisos de API
En el panel izquierdo, seleccione Permisos de API.
Seleccione + Agregar un permiso.
Seleccione Microsoft Graph.
Seleccione Permisos delegados
SeleccioneUsuario.Lectura>.
Seleccione Agregar permisos.
Nota:
- Si a una aplicación no se le concede el consentimiento del administrador de TI, los usuarios deben proporcionar su consentimiento la primera vez que usen una aplicación.
- Los usuarios deben dar su consentimiento a los permisos de API solo si la aplicación de Microsoft Entra está registrada en un inquilino diferente.
Agregar uri de identificador de aplicación
En el panel izquierdo, en Administrar, seleccione Exponer una API.
Junto a URI de id. de aplicación, seleccione Agregar.
Actualice el URI del identificador de aplicación en el
api://your-devtunnel-domain/botid-{AppID}formato oapi://your-ngrok-domain/botid-{AppID}y seleccione Guardar.
En la imagen siguiente se muestra el nombre de dominio:
Agregar un ámbito
En el panel izquierdo, en Administrar, seleccione Exponer una API.
Seleccione + Agregar un ámbito.
Escriba access_as_user como nombre del ámbito.
En ¿Quién puede dar su consentimiento?, seleccione Administradores y usuarios.
Actualice los valores del resto de los campos de la siguiente manera:
Escriba Teams para acceder al perfil del usuario como Administración nombre para mostrar del consentimiento.
Entrar Permite a Teams llamar a las API web de la aplicación como el usuario actual como Administración descripción del consentimiento.
Escriba Teams para acceder al perfil de usuario y realizar solicitudes en nombre del usuario como nombre para mostrar del consentimiento del usuario.
Escriba Habilitar Teams para llamar a las API de esta aplicación con los mismos derechos que el usuario que ladescripción del consentimiento del usuario.
Asegúrese de que Estado se establece en Habilitado.
Seleccione Agregar ámbito.
En la imagen siguiente se muestran los campos y los valores:
Nota:
El nombre del ámbito debe coincidir con el URI del identificador de aplicación con
/access_as_useranexado al final.
Agregar aplicación cliente
En el panel izquierdo, en Administrar, seleccione Exponer una API.
En Aplicaciones cliente autorizadas, identifique las aplicaciones que desea autorizar para la aplicación web de la aplicación.
Seleccione + Agregar una aplicación cliente.
Agregue aplicaciones web de Teams para dispositivos móviles o de escritorio y Teams.
Para equipos móviles o de escritorio de Teams: escriba el identificador de cliente como
1fec8e78-bce4-4aaf-ab1b-5451cc387264.
En Web de Teams: escriba el identificador de cliente como
5e3ce6c0-2b1f-4285-8d4b-75ee78787346.
Active la casilla Ámbitos autorizados .
Seleccione Agregar aplicación.
En la imagen siguiente se muestra el identificador de cliente:
Actualizar el manifiesto
En el panel izquierdo, seleccione Manifiesto.
Establezca el valor de en
requestedAccessTokenVersion2y seleccione Guardar.
Creación de un bot
Creación de un recurso de bot de Azure
Nota:
Si ya está probando el bot en Teams, cierre la sesión de esta aplicación y Teams. Para ver este cambio, vuelva a iniciar sesión.
Ve a Inicio.
Seleccione + Crear un recurso.
En el cuadro de búsqueda, escriba Azure Bot.
Seleccione Introducir.
Seleccione Azure Bot.
Seleccione Crear.
Escriba el nombre del bot en Identificador de bot.
Seleccione su Suscripción en la lista desplegable.
Seleccione el Grupo de recursos en la lista desplegable.
Si no tiene un grupo de recursos existente, puede crear un nuevo grupo de recursos. Para crear un nuevo grupo de recursos, siga estos pasos:
- Seleccione Crear nuevo.
- Escriba el nombre del recurso y seleccione Aceptar.
- Seleccione una ubicación en la lista desplegable Nueva ubicación del grupo de recursos .
En Precios, seleccione Cambiar plan.
Seleccione FO FreeSelect (Seleccionar libre> de FO).
En Id. de aplicación de Microsoft, seleccione Tipo de aplicación como multiinquilino.
En Tipo de creación, seleccione Usar registro de aplicación existente.
Escriba el identificador de aplicación.
Nota:
No puede crear más de un bot con el mismo identificador de aplicación de Microsoft.
Seleccione Revisar y crear.
Una vez superada la validación, seleccione Crear.
El bot tarda unos minutos en aprovisionarse.
Seleccione Ir a recursos.
Ha creado correctamente el bot de Azure.
Agregar un canal de Teams
En el panel izquierdo, seleccione Canales.
En Canales disponibles, seleccione Microsoft Teams.
Active la casilla para aceptar los Términos de servicio.
Seleccione Aceptar.
Seleccione Aplicar.
Para agregar un punto de conexión de mensajería
Use la dirección URL del túnel de desarrollo en la consola de salida como punto de conexión de mensajería.
En el panel izquierdo, en Configuración, seleccione Configuración.
Actualice el punto de conexión de mensajería con el formato
https://your-devtunnel-domain/api/messages.
Seleccione Aplicar.
Ha configurado correctamente un bot en Azure Bot Service.
Nota:
Si la clave de instrumentación de Application Insights muestra un error, actualice con el identificador de aplicación.
Agregar una configuración de conexión de OAuth
En el panel izquierdo, seleccione Configuración.
Seleccione el botón Agregar ajustes de conexión de OAuth en la pantalla Configuración.
En Nueva configuración de conexión, actualice los detalles siguientes:
- Nombre: escriba un nombre para la nueva configuración de conexión. Puede usar el nombre en la configuración del código de bot service.
- Proveedor de servicios: en la lista desplegable, seleccione Azure Active Directory v2.
- Id. de cliente: actualice el identificador de aplicación de Microsoft.
- Secreto de cliente: actualice el valor de los secretos de cliente.
- Dirección URL de Intercambio de tokens: actualice el URI del identificador de aplicación.
- Identificador de inquilino: escriba Común.
- Ámbitos: escriba User.Read.
Haga clic en Guardar.
Configuración de la aplicación
Vaya al archivo appsettings.json en el repositorio clonado.
Abra el archivo appsettings.json en Visual Studio.
Actualice la siguiente información:
- Reemplace por
"MicrosoftAppId"el identificador de aplicación de Microsoft del bot. - Reemplace por
"MicrosoftAppPassword"el valor de los secretos de cliente del bot. - Reemplace por
"SiteUrl"la dirección URL de ngrok. - Reemplace por
"ConnectionName"el nombre de la configuración de conexión de OAuth. - Reemplace por
"TenantId"el identificador de inquilino del inquilino donde se usa la aplicación. - Reemplace por
"ClientId"el identificador de aplicación de Microsoft del bot. - Reemplace por
"AppSecret"el valor de los secretos de cliente del bot. - Reemplace
"ApplicationIdURI"en forma deapi://*******.ngrok.io/botid-{AppID}.
- Reemplace por
Configuración del archivo de manifiesto
Vaya al archivo manifest.json en el repositorio clonado.
Abra el archivo manifest.json en Visual Studio y realice los siguientes cambios:
Reemplace por
DOMAIN-NAMEla dirección URL de ngrok.Reemplace por
YOUR-MICROSOFT-APP-IDel identificador de aplicación de Microsoft del bot.Nota:
Dependiendo del escenario
[YOUR-MICROSOFT-APP-ID]y[DOMAIN-NAME]puede producirse varias veces.Reemplace
resourcecomoapi://*******.ngrok.io/botid-{AppID}.
Compilación y ejecución del servicio
Para compilar y ejecutar el servicio, use Visual Studio o la línea de comandos.
Abra Visual Studio.
SeleccioneAbrir>archivo> *Proyecto/Solución...
En la carpeta csharp , seleccione Archivo Sample.csproj del inicio de sesión único de la aplicación .
Pulse F5 para ejecutar el proyecto.
Seleccione Sí si aparece el siguiente cuadro de diálogo:
Aparece una página web con un mensaje El bot está listo.