Méthodes de prévisualisation dans les modules complémentaires en accès anticipé

Les méthodes d'API des programmes en accès anticipé ou en preview privée sont privées, ce qui signifie qu'elles ne sont pas exposées dans les bibliothèques clientes standards et qu'elles peuvent ne pas être accessibles par défaut via HTTP. Cette page explique comment accéder à ces méthodes de prévisualisation.

Ce document présente quatre options permettant d'utiliser l'API Preview:

  1. Bibliothèques clientes statiques fournies par Google.
  2. Bibliothèques clientes générées dynamiquement
  3. Requêtes HTTP directes
  4. Votre propre bibliothèque cliente personnalisée.

Nous vous recommandons d'utiliser les bibliothèques statiques ou générées dynamiquement fournies par Google pour utiliser l'API.

Bibliothèques statiques

Les bibliothèques clientes dans des langages tels que Java, Node.js, PHP et C# doivent être créées à partir de la source. Ces bibliothèques sont fournies dans les téléchargements des bibliothèques clientes et disposent déjà des méthodes d'aperçu.

Vous devrez peut-être modifier la configuration de vos dépendances habituelles pour utiliser ces bibliothèques locales plutôt que d'importer les bibliothèques clientes standards, qui ne disposent pas des méthodes d'aperçu.

Par exemple, si vous utilisez Node.js et npm, ajoutez le téléchargement de la bibliothèque cliente Node.js (googleapis-classroom-1.0.4.tgz) en tant que dépendance locale dans 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"
  }
}

Ensuite, dans votre application, exigez le module classroom-with-addons en plus des dépendances standards, puis instanciez le service classroom à partir de ce module:

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,
});

...

Bibliothèques dynamiques

Les bibliothèques dans des langages tels que Python génèrent la bibliothèque cliente lors de l'exécution à l'aide d'un document de découverte du service de découverte.

Un document de découverte est une spécification lisible par un ordinateur qui permet de décrire et de consommer les API REST. Il permet de créer des bibliothèques clientes, des plug-ins IDE et d'autres outils qui interagissent avec les API Google. Un même service peut fournir plusieurs documents de découverte.

Les documents de découverte pour le service de l'API Classroom (classroom.googleapis.com) sont disponibles au point de terminaison suivant:

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

Pour générer la bibliothèque Python et instancier le service Classroom avec des méthodes de modules complémentaires, vous pouvez spécifier l'URL de découverte avec le service, les identifiants et le libellé appropriés:

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")

Pour en savoir plus sur chaque langage, consultez la documentation sur les bibliothèques clientes des différentes API Google. Lorsque vous utilisez les API d'aperçu, il est important de spécifier le label approprié. Dans cet aperçu, ce libellé est ADD_ONS_ALPHA.

Requêtes HTTP

Si vous effectuez des requêtes HTTP sans bibliothèque cliente, veillez à inclure le libellé (ADD_ONS_ALPHA) en tant qu'en-tête X-Goog-Visibilities.

Par exemple, pour afficher toutes les pièces jointes créées par un module complémentaire sous un post, utilisez la requête curl suivante:

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

L'API de chaque requête HTTP est décrite dans la documentation REST.

Bibliothèques clientes personnalisées

Consultez la section Créer des bibliothèques clientes si vous devez créer votre propre bibliothèque. La création de votre propre bibliothèque n'entre pas dans le cadre de ce guide, mais vous devez consulter la section Bibliothèques dynamiques pour en savoir plus sur les libellés d'aperçu et leur rôle dans Discovery.