En esta página, se explica cómo compilar un complemento de Google Workspace que permite a los usuarios de Documentos de Google obtener una vista previa de los vínculos de un servicio de terceros.
Un complemento de Google Workspace puede detectar los vínculos de tu servicio y solicitar a los usuarios de Documentos de Google que obtengan una vista previa de ellos. Puedes configurar un complemento para obtener una vista previa de varios patrones de URL, como vínculos a casos de ayuda, posibles clientes comerciales y perfiles de empleados.
Cómo los usuarios obtienen una vista previa de los vínculos
Para obtener una vista previa de los vínculos en un documento de Documentos de Google, los usuarios interactúan con chips inteligentes y tarjetas:
Cuando los usuarios escriben o pegan una URL en un documento, Documentos de Google les solicita que reemplacen el vínculo por un chip inteligente. El chip inteligente muestra un ícono y un título o una descripción breve del contenido del vínculo. Cuando el usuario coloca el cursor sobre el chip, ve una interfaz de tarjeta que muestra una vista previa de más información sobre el archivo o vínculo.
En el siguiente video, se muestra cómo un usuario convierte un vínculo en un chip inteligente y obtén una vista previa de una tarjeta:
Requisitos previos
Apps Script
- Una cuenta de Google Workspace
- Un complemento de Google Workspace Para compilar un complemento, sigue esta guía de inicio rápido.
Node.js
- Una cuenta de Google Workspace
- Un complemento de Google Workspace Para compilar un complemento, sigue esta guía de inicio rápido.
Python
- Una cuenta de Google Workspace
- Un complemento de Google Workspace Para compilar un complemento, sigue esta guía de inicio rápido.
Java
- Una cuenta de Google Workspace
- Un complemento de Google Workspace Para compilar un complemento, sigue esta guía de inicio rápido.
Opcional: Configura la autenticación en un servicio de terceros
Si tu complemento se conecta a un servicio que requiere autorización, los usuarios deben autenticarse en el servicio para obtener una vista previa de los vínculos. Esto significa que, cuando los usuarios pegan un vínculo de tu servicio en un documento de Documentos de Google por primera vez, el complemento debe invocar el flujo de autorización.
Para configurar un servicio de OAuth o un mensaje de autorización personalizado, consulta una de las siguientes guías:
Si compilaste tu complemento con Apps Script, consulta Conéctate a servicios que no son de Google desde un complemento de Google Workspace.
Si compilaste tu complemento con un entorno de ejecución diferente, consulta Conecta tu complemento a un servicio de terceros.
Cómo configurar vistas previas de vínculos para tu complemento
En esta sección, se explica cómo configurar las vistas previas de vínculos para tu complemento, lo que incluye los siguientes pasos:
- Configura las vistas previas de los vínculos en el recurso de implementación o en el archivo de manifiesto de tu complemento.
- Compila la interfaz de tarjeta y chip inteligente para tus vínculos.
Cómo configurar las vistas previas de los vínculos
Para configurar las vistas previas de los vínculos, especifica las siguientes secciones y campos en el recurso de implementación o en el archivo de manifiesto de tu complemento:
- En la sección
addOns
, agrega el campodocs
para extender Documentos de Google. En el campo
docs
, implementa el activadorlinkPreviewTriggers
que incluya unrunFunction
(definirás esta función en la siguiente sección, Cómo compilar el chip inteligente y la tarjeta).Para obtener información sobre qué campos puedes especificar en el activador
linkPreviewTriggers
, consulta la documentación de referencia sobre los archivos de manifiesto de Apps Script o los recursos de implementación para otros entornos de ejecución.En el campo
oauthScopes
, agrega el alcancehttps://www.googleapis.com/auth/workspace.linkpreview
para que los usuarios puedan autorizar al complemento y obtener una vista previa de los vínculos en su nombre.
Como ejemplo, consulta la sección oauthScopes
y addons
de un recurso de implementación que configura las vistas previas de vínculos para un servicio de casos de ayuda:
{
"oauthScopes": [
"https://www.googleapis.com/auth/workspace.linkpreview"
],
"addOns": {
"common": {
"name": "Preview support cases",
"logoUrl": "https://www.example.com/images/company-logo.png",
"layoutProperties": {
"primaryColor": "#dd4b39"
}
},
"docs": {
"linkPreviewTriggers": [
{
"runFunction": "caseLinkPreview",
"patterns": [
{
"hostPattern": "example.com",
"pathPrefix": "support/cases"
},
{
"hostPattern": "*.example.com",
"pathPrefix": "cases"
},
{
"hostPattern": "cases.example.com"
}
],
"labelText": "Support case",
"logoUrl": "https://www.example.com/images/support-icon.png",
"localizedLabelText": {
"es": "Caso de soporte"
}
}
]
}
}
}
En el ejemplo, el complemento de Google Workspace muestra una vista previa de los vínculos del servicio de casos de ayuda de una empresa. El complemento especifica tres patrones de URL para obtener una vista previa de los vínculos. Cuando un vínculo coincide con uno de los patrones de URL de un documento de Documentos de Google, la función de devolución de llamada caseLinkPreview
compila y muestra un chip y una tarjeta inteligentes.
Crea la tarjeta y el chip inteligentes
Si quieres mostrar un chip y una tarjeta inteligentes para un vínculo, debes implementar cualquier función
que hayas especificado en el objeto linkPreviewTriggers
.
Cuando un usuario interactúa con un vínculo que coincide con un patrón de URL especificado, el activador linkPreviewTriggers
se activa y su función de devolución de llamada pasa el objeto de evento docs.matchedUrl.url
como argumento. Usa la carga útil de este objeto de evento a fin de crear el chip inteligente y la tarjeta para la vista previa de tu vínculo.
Por ejemplo, para un complemento que especifica el patrón de URL example.com/cases
, si un usuario obtiene una vista previa del vínculo https://www.example.com/cases/123456
, se muestra la siguiente carga útil del evento:
JSON
{ "docs": { "matchedUrl": { "url": "https://www.example.com/support/cases/123456" } } }
Si deseas crear la interfaz de tarjetas, debes usar widgets para mostrar información sobre el vínculo. También puedes crear acciones que permitan a los usuarios abrir el vínculo o modificar su contenido. Para obtener una lista de widgets y acciones disponibles, consulta Componentes compatibles con tarjetas de vista previa.
Para compilar el chip inteligente y la tarjeta a fin de obtener una vista previa del vínculo, haz lo siguiente:
- Implementa la función que especificaste en la sección
linkPreviewTriggers
del recurso de implementación o del archivo de manifiesto de tu complemento:- La función debe aceptar un objeto de evento que contenga
docs.matchedUrl.url
como argumento y mostrar un solo objetoCard
. - Si el servicio requiere autorización, la función también debe invocar el flujo de autorización.
- La función debe aceptar un objeto de evento que contenga
- Para cada tarjeta de vista previa, implementa cualquier función de devolución de llamada que proporcione interactividad de widgets en la interfaz. Por ejemplo, si incluyes un botón que dice "Ver vínculo", puedes crear una acción que especifique una función de devolución de llamada para abrir el vínculo en una ventana nueva. Para obtener más información sobre las interacciones con widgets, consulta Acciones de complementos.
El siguiente código crea la función de devolución de llamada caseLinkPreview
:
Apps Script
Node.js
Python
Java
Componentes compatibles para tarjetas de vista previa
Los complementos de Google Workspace admiten los siguientes widgets y acciones para tarjetas de vista previa de vínculos:
Apps Script
Campo de servicio de tarjeta | Tipo |
---|---|
TextParagraph |
Widget |
DecoratedText |
Widget |
Image |
Widget |
IconImage |
Widget |
ButtonSet |
Widget |
TextButton |
Widget |
ImageButton |
Widget |
Grid |
Widget |
Divider |
Widget |
OpenLink |
Acción |
Navigation |
Acción Solo se admite el método updateCard . |
JSON
Campo de tarjeta (google.apps.card.v1 ) |
Tipo |
---|---|
TextParagraph |
Widget |
DecoratedText |
Widget |
Image |
Widget |
Icon |
Widget |
ButtonList |
Widget |
Button |
Widget |
Grid |
Widget |
Divider |
Widget |
OpenLink |
Acción |
Navigation |
Acción Solo se admite el método updateCard . |
Ejemplo completo: Complemento de caso de ayuda
En el siguiente ejemplo, se muestra un complemento de Google Workspace que tiene una vista previa de los vínculos a los casos de ayuda y los perfiles de los empleados de una empresa.
En el ejemplo, se realizan las acciones siguientes:
- Las vistas previas incluyen vínculos a los casos de ayuda, como
https://www.example.com/support/cases/1234
. El chip inteligente muestra un ícono de asistencia, y la tarjeta de vista previa incluye el ID del caso y una descripción. - Obtén una vista previa de los vínculos a los agentes de casos de ayuda, como
https://www.example.com/people/rosario-cruz
. El chip inteligente muestra el ícono de una persona, y la tarjeta de vista previa incluye el nombre, el correo electrónico, el cargo y la foto de perfil del empleado. - Si la configuración regional del usuario está configurada en español, el chip inteligente localiza su
labelText
al español.
Recurso de implementación
Apps Script
JSON
{
"oauthScopes": [
"https://www.googleapis.com/auth/workspace.linkpreview"
],
"addOns": {
"common": {
"name": "Preview support cases",
"logoUrl": "https://developers.google.com/workspace/add-ons/images/link-icon.png",
"layoutProperties": {
"primaryColor": "#dd4b39"
}
},
"docs": {
"linkPreviewTriggers": [
{
"runFunction": "URL",
"patterns": [
{
"hostPattern": "example.com",
"pathPrefix": "support/cases"
},
{
"hostPattern": "*.example.com",
"pathPrefix": "cases"
},
{
"hostPattern": "cases.example.com"
}
],
"labelText": "Support case",
"localizedLabelText": {
"es": "Caso de soporte"
},
"logoUrl": "https://developers.google.com/workspace/add-ons/images/support-icon.png"
},
{
"runFunction": "URL",
"patterns": [
{
"hostPattern": "example.com",
"pathPrefix": "people"
}
],
"labelText": "People",
"localizedLabelText": {
"es": "Personas"
},
"logoUrl": "https://developers.google.com/workspace/add-ons/images/person-icon.png"
}
]
}
}
}
Programa
Apps Script
Node.js
Python
Java
Recursos relacionados
- Prueba tu complemento
- Objetos de evento
- Cómo compilar interfaces de Editor
- Recurso de manifiesto del editor