Vorschaumethoden im Early Access für Add-ons

API-Methoden in Early Access- oder privaten Vorschauprogrammen sind privat. Das bedeutet, dass sie nicht in den Standard-Clientbibliotheken verfügbar sind und möglicherweise nicht standardmäßig über HTTP zugänglich sind. Auf dieser Seite wird beschrieben, wie Sie auf diese Vorschaumethoden zugreifen können.

In diesem Dokument werden vier Optionen zur Nutzung der Preview API erläutert:

  1. Von Google bereitgestellte statische Clientbibliotheken
  2. Dynamisch generierte Clientbibliotheken
  3. Direkte HTTP-Anfragen.
  4. Ihre eigene benutzerdefinierte Clientbibliothek.

Es wird empfohlen, für die API von Google bereitgestellte statische oder dynamisch generierte Bibliotheken zu verwenden.

Statische Bibliotheken

Clientbibliotheken in Sprachen wie Java, Node.js, PHP und C# müssen aus dem Quellcode erstellt werden. Sie finden diese Bibliotheken in den Downloads der Clientbibliotheken. Die Vorschaumethoden sind bereits vorhanden.

Möglicherweise müssen Sie Ihre typische Abhängigkeitenkonfiguration ändern, um diese lokalen Bibliotheken zu verwenden, anstatt die Standard-Clientbibliotheken zu importieren, die keine Vorschaumethoden enthalten.

Wenn Sie beispielsweise Node.js und npm verwenden, fügen Sie den Download der Node.js-Clientbibliothek (googleapis-classroom-1.0.4.tgz) als lokale Abhängigkeit in package.json hinzu:

{
  "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"
  }
}

Fordern Sie dann in Ihrer Anwendung neben den regulären Abhängigkeiten das Modul classroom-with-addons an und instanziieren Sie den Dienst classroom von diesem Modul aus:

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

...

Dynamische Bibliotheken

Bibliotheken in Sprachen wie Python generieren die Clientbibliothek zur Laufzeit mit einem Discovery-Dokument aus dem Discovery-Dienst.

Ein Discovery-Dokument ist eine maschinenlesbare Spezifikation zum Beschreiben und Nutzen von REST APIs. Damit können Clientbibliotheken, IDE-Plug-ins und andere Tools erstellt werden, die mit Google APIs interagieren. Ein Dienst kann mehrere Discovery-Dokumente bereitstellen.

Discovery-Dokumente für den Classroom API-Dienst (classroom.googleapis.com) finden Sie unter folgendem Endpunkt:

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

Wenn Sie die Python-Bibliothek generieren und den Classroom-Dienst mit Add-on-Methoden instanziieren möchten, können Sie die Discovery-URL mit dem entsprechenden Dienst, den entsprechenden Anmeldedaten und dem entsprechenden Label angeben:

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

Weitere Informationen zu den einzelnen Sprachen finden Sie in der Dokumentation zur Google API-Clientbibliothek. Der wichtige Unterschied bei der Arbeit mit Vorschau-APIs besteht darin, die entsprechende label anzugeben. In dieser Vorschau ist das Label ADD_ONS_ALPHA.

HTTP-Anfragen

Wenn Sie HTTP-Anfragen ohne Clientbibliothek senden, müssen Sie das Label (ADD_ONS_ALPHA) als X-Goog-Visibilities-Header angeben.

Wenn Sie beispielsweise alle Anhänge ansehen möchten, die von einem Add-on unter einem Beitrag erstellt wurden, verwenden Sie die folgende curl-Anfrage:

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

Die API für jede HTTP-Anfrage wird in der REST-Dokumentation beschrieben.

Benutzerdefinierte Clientbibliotheken

Informationen zum Erstellen einer eigenen Bibliothek finden Sie unter Clientbibliotheken erstellen. Das Erstellen einer eigenen Bibliothek wird in diesem Leitfaden nicht behandelt. Sie sollten jedoch den Abschnitt zu dynamischen Bibliotheken lesen, um mehr über Vorschaulabels und ihre Rolle in Discovery zu erfahren.