Metodi di anteprima nell'accesso in anteprima ai componenti aggiuntivi

I metodi API nei programmi di accesso in anteprima o in anteprima privati sono privati, ovvero non sono esposti nelle librerie client standard e potrebbero non essere accessibili per impostazione predefinita tramite HTTP. In questa pagina viene descritto come accedere a questi metodi di anteprima.

Questo documento illustra quattro opzioni per utilizzare l'API di anteprima:

  1. Librerie client statiche fornite da Google.
  2. Librerie client generate dinamicamente.
  3. Richieste HTTP dirette.
  4. La tua libreria client personalizzata.

L'utilizzo di librerie statiche o generate dinamicamente fornite da Google è il modo consigliato per utilizzare l'API.

Librerie statiche

Le librerie client in linguaggi come Java, Node.js, PHP e C# devono essere create dall'origine. Queste librerie sono disponibili nei download delle librerie client e dispongono già dei metodi di anteprima.

Potrebbe essere necessario modificare la configurazione delle dipendenze tipiche per utilizzare queste librerie locali anziché importare le librerie client standard, che non dispongono dei metodi di anteprima.

Ad esempio, se utilizzi Node.js e npm, aggiungi il download della libreria client Node.js (googleapis-classroom-1.0.4.tgz) come dipendenza locale in 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"
  }
}

Quindi, nell'applicazione, richiedi il modulo classroom-with-addons oltre alle normali dipendenze e crea un'istanza del servizio classroom da quel modulo:

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

...

Librerie dinamiche

Le librerie in linguaggi come Python generano la libreria client in fase di runtime utilizzando un documento di rilevamento dal servizio di rilevamento.

Un documento predittivo è una specifica leggibile dalle macchine per la descrizione e l'utilizzo delle API REST. Viene utilizzato per creare librerie client, plug-in IDE e altri strumenti che interagiscono con le API di Google. Un servizio può fornire più documenti di rilevamento.

I documenti di rilevamento per il servizio API Classroom (classroom.googleapis.com) sono disponibili nel seguente endpoint:

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

Per generare la libreria Python e creare un'istanza del servizio Classroom con i metodi dei componenti aggiuntivi, puoi specificare l'URL di rilevamento con il servizio, le credenziali e l'etichetta appropriati:

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

Per i dettagli su ogni lingua, consulta la documentazione della libreria client delle singole API di Google. La distinzione importante per lavorare con le API di anteprima è specificare il valore label appropriato. In questa anteprima, l'etichetta è ADD_ONS_ALPHA.

Richieste HTTP

Se effettui richieste HTTP senza una libreria client, assicurati di includere l'etichetta (ADD_ONS_ALPHA) come intestazione X-Goog-Visibilities.

Ad esempio, per visualizzare tutti gli allegati creati da un componente aggiuntivo in un post, utilizza la seguente richiesta 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

L'API per ogni richiesta HTTP è descritta nella documentazione relativa a REST.

Librerie client personalizzate

Vedi Creare librerie client se devi creare la tua libreria. La creazione di una libreria personale non rientra nell'ambito di questa guida, ma è consigliabile rivedere la sezione Librerie dinamiche per ulteriori informazioni sulle etichette di anteprima e sul loro ruolo nel rilevamento.