Obtener una vista previa de los métodos en el acceso anticipado a los complementos

Los métodos de la API en programas de vista previa privada o de acceso anticipado son privados, lo que significa que no están expuestos en las bibliotecas cliente estándar y es posible que no se pueda acceder a ellos de forma predeterminada a través de HTTP. En esta página, se describe cómo acceder a estos métodos de vista previa.

En este documento, se analizan cuatro opciones para consumir la API de Preview:

  1. Bibliotecas cliente estáticas que proporciona Google.
  2. Bibliotecas cliente generadas de forma dinámica
  3. Solicitudes HTTP directas.
  4. Tu propia biblioteca cliente personalizada.

El uso de bibliotecas estáticas o generadas de forma dinámica que proporciona Google es la forma recomendada de usar la API.

Bibliotecas estáticas

Las bibliotecas cliente en lenguajes como Java, Node.js, PHP y C# se deben compilar en el código fuente. Estas bibliotecas se proporcionan en las descargas de bibliotecas cliente y ya tienen los métodos de vista previa.

Es posible que debas modificar la configuración típica de dependencias para usar estas bibliotecas locales en lugar de importar las bibliotecas cliente estándar, que no tienen los métodos de vista previa.

Por ejemplo, si usas Node.js y npm, agrega la descarga de la biblioteca cliente de Node.js (googleapis-classroom-1.0.4.tgz) como una dependencia local en package.json:

{
  "name": "nodejs-classroom-example",
  "version": "1.0.0",
  ...
  "dependencies": {
    "@google-cloud/local-auth": "^2.1.0",
    "googleapis": "^95.0.0",
    "classroom-with-addons": "file:./googleapis-classroom-1.0.4.tgz"
  }
}

Luego, en tu aplicación, solicita el módulo classroom-with-addons, además de las dependencias normales, y crea una instancia del servicio classroom desde ese módulo:

const {authenticate} = require('@google-cloud/local-auth');
const {google} = require('googleapis');
const classroomWithAddons = require('classroom-with-addons');

...

const classroom = classroomWithAddons.classroom({
  version: 'v1',
  auth: auth,
});

...

Bibliotecas dinámicas

Las bibliotecas en lenguajes como Python generan la biblioteca cliente en el entorno de ejecución mediante un documento de descubrimiento del servicio Discovery.

Un documento de descubrimiento es una especificación procesable para describir y consumir las APIs de REST. Se usa para compilar bibliotecas cliente, complementos IDE y otras herramientas que interactúan con las APIs de Google. Un servicio puede proporcionar varios documentos de descubrimiento.

Los documentos de descubrimiento para el servicio de la API de Classroom (classroom.googleapis.com) se encuentran en el siguiente extremo:

  • https://classroom.googleapis.com/$discovery/rest?labels=<PREVIEW_LABEL>&version=v1&key=<Clave de API>

Para generar la biblioteca de Python y crear una instancia del servicio Classroom con métodos de complementos, puedes especificar la URL de descubrimiento con el servicio, las credenciales y la etiqueta adecuados:

classroom_service_with_rubrics = googleapiclient.discovery.build(
  serviceName="classroom",
  version="v1",
  credentials=credentials,
  static_discovery=False,
  discoveryServiceUrl=f"https://classroom.googleapis.com/$discovery/rest?labels=ADD_ONS_ALPHA&key=ABCXYZ")

Consulta la documentación de la biblioteca cliente de las API de Google individual para obtener detalles sobre cada lenguaje. La distinción importante para trabajar con API de versión preliminar es especificar el label adecuado. En esta vista previa, esa etiqueta es ADD_ONS_ALPHA.

Solicitudes HTTP

Si realizas solicitudes HTTP sin una biblioteca cliente, asegúrate de incluir la etiqueta (ADD_ONS_ALPHA) como un encabezado X-Goog-Visibilities.

Por ejemplo, para ver todos los archivos adjuntos creados por un complemento en una publicación, usa la siguiente solicitud curl:

curl \
  'https://classroom.googleapis.com/v1/courses/[courseId]/posts/[postId]/addOnAttachments?key=[YOUR_API_KEY]' \
  --header 'X-Goog-Visibilities: ADD_ONS_ALPHA' \
  --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
  --header 'Accept: application/json' \
  --compressed

La API para cada solicitud HTTP se describe en la documentación de REST.

Bibliotecas cliente personalizadas

Consulta cómo compilar bibliotecas cliente si necesitas compilar tu propia biblioteca. Crear tu propia biblioteca está fuera del alcance de esta guía, pero deberías revisar la sección sobre bibliotecas dinámicas para obtener información sobre las etiquetas de vista previa y su función en el descubrimiento.