Metodi di anteprima nell'accesso in anteprima ai componenti aggiuntivi

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

Questo documento illustra le quattro opzioni per l'utilizzo dell'API Preview:

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

L'utilizzo delle librerie statiche o generate dinamicamente fornite da Google metodo consigliato per usare l'API.

Librerie statiche

Le librerie client in linguaggi come Java, Node.js, PHP e C# devono essere create sorgente. Queste librerie vengono fornite nei download delle librerie client e dispongono già dei metodi di anteprima.

Per utilizzare queste dipendenze, potresti dover modificare la configurazione tipica librerie locali anziché importare le librerie client standard, che non disponibili i metodi di anteprima.

Ad esempio, se utilizzi Node.js e npm, aggiungi la libreria client Node.js scarica (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"
  }
}

Nella tua applicazione, dovrai inoltre richiedere il modulo classroom-with-addons in aggiunta alle dipendenze regolari e creare un'istanza per il 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 di rilevamento è una specifica leggibile da macchina per descrivere e che utilizzano le API REST. viene utilizzato per creare librerie client, plug-in IDE e che interagiscono con le API di Google. Un servizio può offrire più servizi documenti di rilevamento.

Documenti di rilevamento per il servizio API Classroom (classroom.googleapis.com) è disponibile al seguente endpoint:

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

Per generare la libreria Python e creare un'istanza del servizio Classroom con puoi specificare l'URL di rilevamento con il servizio appropriato, credenziali ed etichetta:

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 informazioni dettagliate su ogni singola API di Google, consulta la documentazione sulla libreria client lingua. L'importante differenza nell'uso delle API di anteprima è specificare il 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 sotto un post, utilizza la seguente richiesta curl:

curl \
  'https://classroom.googleapis.com/v1/courses/[courseId]/courseWork/[itemId]/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 al REST.

Librerie client personalizzate

Se devi creare la tua libreria, consulta Creare librerie client. Creazione in corso... non rientra nell'ambito di questa guida, ma ti consigliamo di consultare Librerie dinamiche per conoscere le etichette di anteprima e il loro ruolo nelle Scoperta.