เมธอด API ในการทดลองใช้ก่อนเปิดตัวหรือโปรแกรมตัวอย่างแบบส่วนตัวเป็นแบบส่วนตัว ซึ่งหมายความว่าเมธอดจะไม่มีการเปิดเผยในไลบรารีของไคลเอ็นต์มาตรฐาน และอาจไม่สามารถเข้าถึงได้โดยค่าเริ่มต้นผ่าน HTTP หน้านี้จะอธิบายวิธีเข้าถึงวิธีแสดงตัวอย่างเหล่านี้
เอกสารนี้จะกล่าวถึง 4 ตัวเลือกสำหรับการใช้ API หน้าตัวอย่าง:
- ไลบรารีของไคลเอ็นต์แบบคงที่ที่ Google มีให้
- ไลบรารีของไคลเอ็นต์ที่สร้างแบบไดนามิก
- คำขอ HTTP โดยตรง
- ไลบรารีของไคลเอ็นต์ที่คุณกำหนดเอง
การใช้ไลบรารีที่สร้างแบบคงที่หรือแบบไดนามิกที่ 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
ไลบรารีของไคลเอ็นต์ที่กำหนดเอง
โปรดดูสร้างไลบรารีของไคลเอ็นต์หากต้องการสร้างไลบรารีของคุณเอง การสร้างไลบรารีของคุณเองอยู่นอกเหนือขอบเขตของคู่มือนี้ แต่คุณควรอ่านส่วนไลบรารีแบบไดนามิกเพื่อเรียนรู้เกี่ยวกับป้ายกำกับหน้าตัวอย่างและบทบาทในการค้นพบ