Wyświetlanie podglądu metod w ramach wcześniejszego dostępu do dodatków

Metody interfejsu API w programach wcześniejszego dostępu lub prywatnej wersji testowej są prywatne, co oznacza, że nie są widoczne w standardowych bibliotekach klienta i mogą być domyślnie niedostępne przez HTTP. Na tej stronie dowiesz się, jak uzyskać dostęp do tych metod podglądu.

W tym dokumencie omawiamy 4 sposoby korzystania z interfejsu API w wersji testowej:

  1. Statyczne biblioteki klienta udostępnione przez Google.
  2. Dynamicznie generowane biblioteki klienta.
  3. Bezpośrednie żądania HTTP.
  4. Twoja własna biblioteka klienta.

Zalecamy korzystanie z dostarczonych przez Google bibliotek statycznych lub generowanych dynamicznie.

Biblioteki statyczne

Biblioteki klienta w językach takich jak Java, Node.js, PHP i C# należy tworzyć na poziomie źródłowym. Te biblioteki są dostępne w plikach do pobrania w bibliotekach klienta i zawierają już metody podglądu.

Może być konieczne zmodyfikowanie typowej konfiguracji zależności, aby użyć tych bibliotek lokalnych, zamiast importować standardowe biblioteki klienta, które nie mają metod podglądu.

Jeśli na przykład używasz Node.js i npm, dodaj plik pobierania biblioteki klienta Node.js (googleapis-classroom-1.0.4.tgz) jako zależność lokalną w 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"
  }
}

Następnie w aplikacji wymagaj modułu classroom-with-addons oprócz zwykłych zależności i utwórz instancję usługi classroom z tego modułu:

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

...

Biblioteki dynamiczne

Biblioteki w językach takich jak Python generują bibliotekę klienta w czasie działania za pomocą dokumentu Discovery z usługi wykrywania.

Dokument Discovery to czytelna dla komputera specyfikacja do opisywania i używania interfejsów API REST. Służy do tworzenia bibliotek klienta, wtyczek IDE i innych narzędzi, które wchodzą w interakcję z interfejsami API Google. Jedna usługa może dostarczać wiele dokumentów opisujących.

Dokumenty Discovery dotyczące usługi Classroom API (classroom.googleapis.com) znajdziesz tutaj:

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

Aby wygenerować bibliotekę w Pythonie i utworzyć instancję usługi Classroom przy użyciu metod dodatków, możesz określić Discovery URL z odpowiednią usługą, danymi logowania i etykietą:

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

Szczegółowe informacje o poszczególnych językach znajdziesz w dokumentacji biblioteki klienta interfejsów API Google. Ważną różnicą w przypadku korzystania z interfejsów API w wersji testowej jest określenie odpowiedniej właściwości label. Na tym podglądzie ta etykieta to ADD_ONS_ALPHA.

Żądania HTTP

Jeśli wysyłasz żądania HTTP bez biblioteki klienta, pamiętaj o umieszczeniu etykiety (ADD_ONS_ALPHA) jako nagłówka X-Goog-Visibilities.

Aby na przykład wyświetlić wszystkie załączniki utworzone przez dodatek pod postem, użyj tego żądania 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

Interfejs API każdego żądania HTTP został opisany w dokumentacji REST.

Niestandardowe biblioteki klienta

Jeśli chcesz utworzyć własną bibliotekę, przeczytaj artykuł o tworzeniu bibliotek klienta. Tworzenie własnej biblioteki nie leży w zakresie tego przewodnika, ale w sekcji Biblioteki dynamiczne znajdziesz więcej informacji o etykietach podglądu i ich roli w odkrywaniu.