Cómo compilar interfaces de Editor de Google

Con los complementos de Google Workspace, puedes proporcionar interfaces personalizadas en los editores, incluidas Documentos, Hojas de cálculo y Presentaciones de Google. Esto te permite proporcionar al usuario información relevante, automatizar tareas y conectar sistemas de terceros a la Editores.

Accede a la IU del complemento

Puedes abrir un complemento de Google Workspace en Editores. si el ícono aparece en el menú desplegable acceder al panel lateral derecho del usuario de Documentos, Hojas de cálculo y Presentaciones interfaces.

Un complemento de Google Workspace puede presentar las siguientes interfaces:

  • Interfaces de la página principal: Si el manifiesto del complemento incluye el activador EDITOR_NAME.homepageTrigger para el editor en el que el usuario abre el complemento el complemento se compila y muestra un tarjeta de la página principal específicamente para ese Editor. Si el manifiesto del complemento no incluye el elemento EDITOR_NAME.homepageTrigger para el editor que abre el usuario se muestra una tarjeta genérica en la página principal.

  • Interfaces de la API de REST: Si el complemento usa REST Puedes incluir activadores que soliciten acceso por archivo a un documento con el permiso drive.file. Una vez otorgado, otro activador llamado Se ejecuta EDITOR_NAME.onFileScopeGrantedTrigger y muestra una interfaz específica del archivo.

  • Interfaces de vista previa del vínculo: Si tu complemento se integra en un servicio de terceros, puedes crear tarjetas de vista previa contenido de las URLs de tu servicio.

Cómo compilar interfaces para complementos de Editor

Compila las interfaces del complemento del editor para los editores siguiendo estos pasos:

  1. Agrega las addOns.common: addOns.docs: addOns.sheets y addOns.slides campos al manifiesto del proyecto de secuencia de comandos del complemento.
  2. Agrega los permisos de Editor necesarios para el manifiesto del proyecto de secuencia de comandos.
  3. Si proporcionas una página principal específica de un editor, sigue estos pasos: implementar el EDITOR_NAME.homepageTrigger para compilar la interfaz. De lo contrario, utiliza el common.homepageTrigger para crear una página de inicio común para tus apps host.
  4. Si usas las APIs de REST, implementa el flujo de autorización del permiso drive.file. y EDITOR_NAME.onFileScopeGrantedTrigger trigger para mostrar una interfaz específica del archivo abierto. Para ver más consulta Interfaces de la API de REST.
  5. Si quieres configurar vistas previas de vínculos desde un servicio de terceros, implementa el flujo de autorización de permisos https://www.googleapis.com/auth/workspace.linkpreview y linkPreviewTriggers . Para obtener más información, consulta Interfaces de vista previa de vínculos.
  6. Implementa las funciones de devolución de llamada asociadas necesarias para responder al mensaje Las interacciones de la IU, como los clics en botones.

Páginas principales del editor

Debes proporcionar una función activadora de página principal en el proyecto de secuencia de comandos de tu complemento. que compila y muestra un solo Card o un array de objetos Card que conforman la página principal del complemento.

Se pasa un objeto de evento a la función de activador de la página principal. como un parámetro que contiene información como la plataforma del cliente. Puedes usar los datos del objeto de evento para personalizar la construcción de la página principal

Puedes presentar una página principal común o una que sea específica para el Editor. el usuario abre el complemento.

Cómo mostrar la página principal común

Para mostrar la página principal común de tu complemento en los editores, incluye la página Campos del editor, como addOns.docs, addOns.sheets: o addOns.slides, en el manifiesto del complemento.

En el siguiente ejemplo, se muestra la porción de addons de un complemento de Google Workspace. . El complemento extiende Documentos, Hojas de cálculo y Presentaciones, y muestra en cada app host.

 "addOns": {
    "common": {
      "name": "Translate",
      "logoUrl": "https://www.gstatic.com/images/branding/product/1x/translate_24dp.png",
      "layoutProperties": {
        "primaryColor": "#2772ed"
      },
      "homepageTrigger": {
        "runFunction": "onHomepage"
      }
    },
    "docs": {},
    "sheets": {},
    "slides": {}
  }
}

Cómo mostrar una página principal específica de Editor

Para presentar una página principal específica a un editor, agrega EDITOR_NAME.homepageTrigger al complemento. .

En el siguiente ejemplo, se muestra la porción addons de un manifiesto de complemento de Google Workspace. El complemento está habilitado para Documentos, Hojas de cálculo y Presentaciones. Muestra las funciones comunes la página principal de Documentos y Presentaciones, y una página principal única en Hojas de cálculo. La devolución de llamada La función onSheetsHomepage crea la tarjeta de la página principal específica de Hojas de cálculo.

 "addOns": {
    "common": {
      "name": "Translate",
      "logoUrl": "https://www.gstatic.com/images/branding/product/1x/translate_24dp.png",
      "layoutProperties": {
        "primaryColor": "#2772ed"
      },
      "homepageTrigger": {
        "runFunction": "onHomepage"
      }
    },
    "docs": {},
    "slides": {},
    "sheets": {
     "homepageTrigger": {
       "runFunction": "onSheetsHomepage"
     },
  }
}

Interfaces de la API de REST

Si tu complemento usa APIs de REST, como la API de Hojas de cálculo de Google, haz lo siguiente: puedes usar la función onFileScopeGrantedTrigger para mostrar una nueva interfaz específico para el archivo que se abre en la aplicación host Editor.

Debes incluir el flujo de autorización de permiso de drive.file para usar la Función onFileScopeGrantedTrigger. Para obtener información sobre cómo solicitar drive.file consulta Cómo solicitar acceso a los archivos para el documento actual.

Cuando un usuario otorga el permiso drive.file, el EDITOR_NAME.onFileScopeGrantedTrigger.runFunction incendios. Cuando el activador se activa, ejecuta la función de activación contextual especificadas por el campo EDITOR_NAME.onFileScopeGrantedTrigger.runFunction en el del complemento.

A fin de crear una interfaz de API de REST para uno de los editores, sigue los pasos que se indican a continuación. Reemplaza EDITOR_NAME por la app host de Editor que elijas. usar, por ejemplo, sheets.onFileScopeGrantedTrigger.

  1. Incluye EDITOR_NAME.onFileScopeGrantedTrigger. en la sección del editor correspondiente de tu manifiesto. Por ejemplo, si para crear esta interfaz en Hojas de cálculo de Google, agrega el activador la sección "sheets".
  2. Implementa la función nombrada en EDITOR_NAME.onFileScopeGrantedTrigger sección. Esta función acepta un objeto de evento como argumento y debe devolver un solo Card o un array de objetos Card.
  3. Como con cualquier tarjeta, debes implementar las funciones de devolución de llamada interactividad de widgets para la interfaz. Por ejemplo, si incluyes un botón en la interfaz, debería haber adjuntado una Action y una función de devolución de llamada implementada que se ejecute cuando el botón cuando un usuario hace clic en él.

En el siguiente ejemplo, se muestra la porción addons de un manifiesto de complemento de Google Workspace. El complemento usa APIs de REST, por lo que se incluye onFileScopeGrantedTrigger para Google Sheets. Cuando un usuario otorga el alcance drive.file, la función de devolución de llamada onFileScopeGrantedSheets compila una interfaz específica de archivo.

"addOns": {
   "common": {
     "name": "Productivity add-on",
     "logoUrl": "https://www.gstatic.com/images/icons/material/system_gm/1x/work_outline_black_18dp.png",
     "layoutProperties": {
       "primaryColor": "#669df6",
       "secondaryColor": "#ee675c"
     }
   },
   "sheets": {
     "homepageTrigger": {
       "runFunction": "onEditorsHomepage"
     },
     "onFileScopeGrantedTrigger": {
       "runFunction": "onFileScopeGrantedSheets"
     }
   }

Para activar las vistas previas de vínculos en un servicio de terceros, debes configurar vínculos vistas previas en el manifiesto de su complemento y cree una función que muestre una vista previa tarjeta. Para los servicios que requieren autorización del usuario, tu función también debe invocar el flujo de autorización.

Si quieres conocer los pasos para activar las vistas previas de vínculos, consulta Obtén vistas previas de vínculos con chips inteligentes.

Objetos de evento

Se crea un objeto de evento y se pasa para activar funciones, como EDITOR_NAME.homepageTrigger o EDITOR_NAME.onFileScopeGrantedTrigger. La función de activación usa la información del de evento para determinar cómo crear tarjetas de complementos o controlar la el comportamiento del complemento.

La estructura completa de los objetos de evento se describe en Objetos de evento.

Cuando un editor es la aplicación host que actúa en el complemento, los objetos de eventos incluyen lo siguiente: Documentos, Hojas de cálculo o Presentaciones campos de objetos de eventos que contienen información del cliente.

Si el complemento no tiene autorización de permiso de drive.file para el usuario actual o document, el objeto event solo contiene docs.addonHasFileScopePermission, sheets.addonHasFileScopePermission o slides.addonHasFileScopePermission. Si el complemento tiene el objeto de evento contiene todos los campos de objeto de evento de Editor.

En el siguiente ejemplo, se muestra un objeto de evento Editor que se pasa a un función sheets.onFileScopeGrantedTrigger. Aquí, el complemento tiene la Autorización de permiso de drive.file para el documento actual:

`        {
          "commonEventObject": { ... },
          "sheets": {
            "addonHasFileScopePermission": true,
            "id":"A_24Q3CDA23112312ED52",
            "title":"How to get started with Sheets"
          },
          ...
        }