Actualizar archivos adjuntos de vínculos a archivos adjuntos de complementos de Classroom

Una forma en que los profesores pueden agregar contenido de terceros a Classroom es de la siguiente manera: pegar un vínculo como Vínculo adjunto en la página de creación de tareas. Para compilar sobre lo que los profesores ya conocen, ahora puedes configurar tu complemento para y permitir que los profesores actualicen un archivo adjunto de vínculo a un archivo adjunto de complemento.

Descripción general

Si configuras tu complemento con esta función, se solicitará a los profesores que actualizar un vínculo a un archivo adjunto de complemento cuando pega un vínculo en el archivo adjunto página de creación de tareas. Solo se solicita a los profesores que lo hagan si ya tienen tener el complemento instalado.

Una vez que el profesor acepte actualizar el vínculo a un archivo adjunto del complemento, el vínculo La actualización de iframe se inicia con los siguientes parámetros de consulta:

  • courseId
  • itemId
  • itemType
  • addOnToken
  • urlToUpgrade
  • login_hint (solo si el usuario ya autorizó tu app)

Los primeros cuatro parámetros de consulta reflejan los parámetros de consulta lanzados en la iframe de descubrimiento de archivos adjuntos. El parámetro de consulta urlToUpgrade es nuevo y puede lo ayudará a evaluar cómo debe crearse el archivo adjunto del complemento. Luego, puedes usar los otros parámetros de consulta para verificar si el usuario accedió y llamar al método CreateAddOnAttachment de courseWork, courseWorkMaterials o announcements según el valor itemType. Dentro del iframe, puedes mostrar una pantalla de carga para indicarle al profesor que el archivo adjunto del complemento se está creando.

Una vez que se crea el archivo adjunto del complemento, se cierra el iframe y la el profesor puede ver el archivo adjunto de la tarea como lo haría normalmente.

Detalles técnicos de la implementación

En esta sección, se destacan algunos detalles técnicos importantes de la función.

Leer el parámetro de consulta urlToUpgrade

El parámetro de consulta urlToUpgrade tiene codificación de URI cuando se pasa en el vínculo. Actualizar iframe. Debes decodificar la URL para obtener su forma original. Si Si usas JavaScript, por ejemplo, puedes usar decodeURIComponent() para hacerlo.

Para garantizar una experiencia del usuario óptima con esta función, envía un postMessage una vez se creó correctamente el archivo adjunto del complemento. Esto cierra el iframe. Consulta la página de detalles de la implementación del iframe para obtener más información.

Detalles de configuración

Para integrar esta función en tu complemento:

  • URL del iframe de actualización de vínculos: Esta es la URL que se abre en el iframe cuando un profesor acepta la actualización.

  • Patrones de URL que Classroom debe detectar y tratar de actualización: Los patrones de URL pueden consistir en un host y varias rutas. prefijos.

    • Puedes proporcionar varios patrones de URL.
    • Si no proporcionas ningún prefijo de ruta de acceso, todas las URL que coincidan con el host se pueden actualizar.
    • Solo se pueden actualizar las URLs con un esquema https.
    • Los patrones de URL no deben incluir localhost.
    • Los prefijos de ruta de acceso no deben contener parámetros de consulta ni fragmentos de URL.
    • Los prefijos de ruta de acceso pueden admitir comodines en este momento, pero los hosts no pueden hacer lo siguiente:
      • example.com es un host válido, /foo y /bar/*/baz son prefijos de ruta de acceso válidos.
      • example.*.host.com no es un un host válido.
    • Un comodín entre componentes de prefijo de ruta solo coincide con una única y no coincide con varios componentes separados por barras. Considera un patrón de URL con el host example.com y el prefijo de ruta de acceso /bar/*/baz
      • https://example.com/bar/123/baz es una coincidencia válida para la URL .
      • https://example.com/bar/123/baz/456/789 es una coincidencia válida para el Patrón de URL.
      • https://example.com/bar/123/456/baz no es una coincidencia válida para el Patrón de URL porque el comodín en el prefijo de ruta de acceso no coincide /123/456/

Proceso de desarrollo

Envía la URL de iframe de actualización de vínculos y los patrones de URL para tu prueba o producción envía un correo electrónico a classroom-link-upgrade-external@google.com.

Puedes proporcionar parámetros de configuración para cualquier proyecto de Google Cloud que represente una complemento de Classroom. Te recomendamos que primero proporciones configuraciones de un complemento con visibilidad privada para que puedas desarrollar y hacer pruebas en un dominio de demostración sin afectar a los usuarios activos.

Recibirás una respuesta a tu correo electrónico cuando se hayan completado los parámetros de configuración. habilitado. Ten en cuenta que los patrones de URL que usan localhost no son compatibles .

Dale formato al correo electrónico para que incluya la siguiente información:

Google Cloud Project number: GCP_PROJECT_NUMBER

Link Upgrade iframe URL: LINK_UPGRADE_IFRAME_URL

URL Patterns:
-   Host:HOST_1
-   Path prefixes:
  -   PATH_PREFIX_1
  -   PATH_PREFIX_2

-   Host:HOST_2
-   Path prefixes:
  -   PATH_PREFIX_3
  -   PATH_PREFIX_4

// add more hosts and path prefixes as needed

Reemplaza lo siguiente:

  • GCP_PROJECT_NUMBER: Es la cantidad del proyecto de Google Cloud. con la que está asociado el complemento.
  • LINK_UPGRADE_IFRAME_URL: Es la URL que se debe abrir en el iframe de actualización del vínculo.
  • HOST_1: Es un host que Classroom debe detectar. Solo los Se admite el esquema https.
  • PATH_PREFIX_1 y PATH_PREFIX_2: Ruta de acceso prefijos asociados con HOST_1 que Classroom debe detectar e intentar para actualizarlas.
  • HOST_2: Es un host que Classroom debe detectar. Solo los Se admite el esquema https.
  • PATH_PREFIX_3 y PATH_PREFIX_4: Ruta de acceso prefijos asociados con HOST_2 que Classroom debe detectar e intentar para actualizarlas.

A continuación, se incluyen sugerencias que debes tener en cuenta cuando implementes esta función.

Evita el trabajo adicional de los profesores

Te recomendamos que utilices el iframe para facilitar el acceso en los siguientes casos: o mostrar un indicador de carga. Para obtener la mejor experiencia del usuario, el al profesor no se le debería pedir información adicional una vez aceptó actualizar el vínculo pegado a un archivo adjunto del complemento. Sin embargo, si este es que no es posible para tu complemento, puedes usar el iframe de actualización de vínculos para recopilar la información adicional que necesitas. El iframe también se puede utilizar para informar al al profesor si no es posible actualizar el vínculo o si se produjo un error.

Incluye mensajes de error de acceso fácil de usar

Si los profesores pegan y actualizan un vínculo al que no tienen acceso, muestra un fácil de usar en el iframe para que los profesores estén al tanto del problema. El iframe también se puede usar para proporcionarle al profesor la información permisos para acceder al contenido.