Metode pratinjau di akses awal Add-on

Metode API dalam akses awal atau program pratinjau pribadi bersifat pribadi, artinya metode tersebut tidak diekspos dalam library klien standar dan mungkin tidak dapat diakses secara default melalui HTTP. Halaman ini menjelaskan cara mengakses metode pratinjau ini.

Dokumen ini membahas empat opsi untuk menggunakan API pratinjau:

  1. Library klien statis yang disediakan Google.
  2. Library klien yang dibuat secara dinamis.
  3. Permintaan HTTP langsung.
  4. Library klien kustom Anda sendiri.

Menggunakan library statis atau yang dibuat secara dinamis yang disediakan Google adalah cara yang direkomendasikan untuk menggunakan API.

Library statis

Library klien dalam bahasa seperti Java, Node.js, PHP, dan C# harus di-build dari sumber. Library ini disediakan untuk Anda di download library klien dan sudah memiliki metode pratinjau.

Anda mungkin perlu mengubah konfigurasi dependensi standar untuk menggunakan library lokal ini, bukan mengimpor library klien standar yang tidak memiliki metode pratinjau.

Misalnya, jika Anda menggunakan Node.js dan npm, tambahkan download library klien Node.js (googleapis-classroom-1.0.4.tgz) sebagai dependensi lokal di 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"
  }
}

Kemudian, dalam aplikasi Anda, wajibkan modul classroom-with-addons selain dependensi reguler, dan buat instance layanan classroom dari modul tersebut:

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

...

Library dinamis

Library dalam bahasa seperti Python membuat library klien saat runtime menggunakan Dokumen Discovery dari layanan Discovery.

Dokumen Discovery adalah spesifikasi yang dapat dibaca mesin untuk mendeskripsikan dan menggunakan REST API. Dokumen ini digunakan untuk membuat library klien, plugin IDE, dan alat lain yang berinteraksi dengan Google API. Satu layanan dapat menyediakan beberapa dokumen penemuan.

Dokumen Penemuan untuk layanan Classroom API (classroom.googleapis.com) dapat ditemukan di endpoint berikut:

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

Untuk menghasilkan library Python dan membuat instance layanan Classroom dengan metode add-on, Anda dapat menentukan URL Penemuan dengan layanan, kredensial, dan label yang sesuai:

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

Lihat dokumentasi library klien Google API individual untuk detail tentang setiap bahasa. Perbedaan penting untuk menggunakan API pratinjau adalah menentukan label yang sesuai. Dalam pratinjau ini, labelnya adalah ADD_ONS_ALPHA.

Permintaan HTTP

Jika Anda membuat permintaan HTTP tanpa library klien, pastikan Anda menyertakan label (ADD_ONS_ALPHA) sebagai header X-Goog-Visibilities.

Misalnya, untuk melihat semua lampiran yang dibuat oleh add-on di bawah postingan, gunakan permintaan curl berikut:

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

API untuk setiap permintaan HTTP dijelaskan dalam dokumentasi REST.

Library klien kustom

Lihat mem-build library klien jika Anda perlu membuat library Anda sendiri. Pembuatan library Anda sendiri berada di luar cakupan panduan ini, tetapi Anda harus meninjau bagian library dinamis untuk mempelajari label pratinjau dan perannya dalam Discovery.