วิธีแสดงตัวอย่างในการทดลองใช้ก่อนเปิดตัวของส่วนเสริม

เมธอด API ในการทดลองใช้ก่อนเปิดตัวหรือโปรแกรมตัวอย่างแบบส่วนตัวเป็นแบบส่วนตัว ซึ่งหมายความว่าเมธอดจะไม่มีการเปิดเผยในไลบรารีของไคลเอ็นต์มาตรฐาน และอาจไม่สามารถเข้าถึงได้โดยค่าเริ่มต้นผ่าน HTTP หน้านี้จะอธิบายวิธีเข้าถึงวิธีแสดงตัวอย่างเหล่านี้

เอกสารนี้จะกล่าวถึง 4 ตัวเลือกสำหรับการใช้ API หน้าตัวอย่าง:

  1. ไลบรารีของไคลเอ็นต์แบบคงที่ที่ Google มีให้
  2. ไลบรารีของไคลเอ็นต์ที่สร้างแบบไดนามิก
  3. คำขอ HTTP โดยตรง
  4. ไลบรารีของไคลเอ็นต์ที่คุณกำหนดเอง

การใช้ไลบรารีที่สร้างแบบคงที่หรือแบบไดนามิกที่ Google มีให้เป็นวิธีที่แนะนำสำหรับการใช้ API

ไลบรารีแบบคงที่

ไลบรารีของไคลเอ็นต์ในภาษาต่างๆ เช่น Java, Node.js, PHP และ C# ต้องสร้างขึ้นจากซอร์ส ไลบรารีเหล่านี้จัดเตรียมไว้ให้ในการดาวน์โหลดไลบรารีของไคลเอ็นต์และมีวิธีแสดงตัวอย่างอยู่แล้ว

คุณอาจต้องแก้ไขการกำหนดค่าทรัพยากร Dependency ทั่วไปเพื่อใช้ไลบรารีในเครื่องเหล่านี้แทนการนำเข้าไลบรารีไคลเอ็นต์มาตรฐานซึ่งไม่มีเมธอดแสดงตัวอย่าง

ตัวอย่างเช่น หากคุณใช้ Node.js และ npm ให้เพิ่มไลบรารีของไคลเอ็นต์ Node.js ดาวน์โหลด (googleapis-classroom-1.0.4.tgz) เป็นทรัพยากร Dependency ภายในใน 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"
  }
}

จากนั้นต้องมีโมดูล classroom-with-addons เพิ่มเติมจากทรัพยากร Dependency ปกติในแอปพลิเคชัน และสร้างอินสแตนซ์บริการ classroom จากโมดูลดังกล่าว

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

...

ไลบรารีแบบไดนามิก

ไลบรารีในภาษาต่างๆ เช่น Python จะสร้างไลบรารีไคลเอ็นต์ระหว่างรันไทม์โดยใช้เอกสาร Discovery จากบริการ Discovery

เอกสาร Discovery เป็นข้อกำหนดที่เครื่องอ่านได้สำหรับอธิบายและใช้ REST API ซึ่งใช้สร้างไลบรารีของไคลเอ็นต์ ปลั๊กอิน IDE และเครื่องมืออื่นๆ ที่โต้ตอบกับ Google API บริการเดียวอาจมีเอกสาร การค้นพบได้หลายรายการ

คุณจะดูเอกสารการค้นพบสำหรับบริการ Classroom API (classroom.googleapis.com) ได้ที่ปลายทางต่อไปนี้

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

หากต้องการสร้างไลบรารี Python และเริ่มต้นบริการ Classroom ด้วยเมธอดส่วนเสริม คุณจะระบุ Discovery URL ด้วยบริการ ข้อมูลเข้าสู่ระบบ และป้ายกำกับที่เหมาะสมได้ดังนี้

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

โปรดดูรายละเอียดในแต่ละภาษาในเอกสารประกอบเกี่ยวกับไลบรารีของไคลเอ็นต์ของ Google API ความแตกต่างที่สําคัญสําหรับการทํางานกับ API ตัวอย่างคือการระบุ label ที่เหมาะสม ในตัวอย่างนี้ ป้ายกำกับคือ ADD_ONS_ALPHA

คำขอ HTTP

หากคุณส่งคำขอ HTTP โดยไม่มีไลบรารีของไคลเอ็นต์ อย่าลืมใส่ป้ายกำกับ (ADD_ONS_ALPHA) เป็นส่วนหัว X-Goog-Visibilities

เช่น หากต้องการดูไฟล์แนบทั้งหมดที่ส่วนเสริมสร้างขึ้นภายใต้โพสต์ ให้ใช้คำขอ 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

โปรดดูคำอธิบาย API สำหรับคำขอ HTTP แต่ละรายการในเอกสารประกอบของ REST

ไลบรารีของไคลเอ็นต์ที่กำหนดเอง

โปรดดูสร้างไลบรารีของไคลเอ็นต์หากต้องการสร้างไลบรารีของคุณเอง การสร้างไลบรารีของคุณเองอยู่นอกเหนือขอบเขตของคู่มือนี้ แต่คุณควรอ่านส่วนไลบรารีแบบไดนามิกเพื่อเรียนรู้เกี่ยวกับป้ายกำกับหน้าตัวอย่างและบทบาทในการค้นพบ