ตัวอย่างต่อไปนี้แสดงวิธีเรียกการตอบกลับ API บางส่วนใน YouTube Data API (v3)
หมายเหตุ: คู่มือเริ่มต้นใช้งาน API จะให้รายละเอียดเพิ่มเติมเกี่ยวกับคําขอและการตอบกลับบางส่วน
API v3 ช่วยให้เรียกใช้ทรัพยากรบางส่วนได้ และจําเป็นที่จะต้องหลีกเลี่ยงการโอน แยกวิเคราะห์ และจัดเก็บข้อมูลที่ไม่จําเป็น วิธีนี้ยังช่วยให้มั่นใจว่า API ใช้ทรัพยากรเครือข่าย, CPU และหน่วยความจําได้อย่างมีประสิทธิภาพมากขึ้น
API รองรับพารามิเตอร์คําขอ 2 รายการ ได้แก่ part
และ fields
ซึ่งให้คุณระบุพร็อพเพอร์ตี้ทรัพยากรที่ควรรวมอยู่ในการตอบกลับ API พารามิเตอร์ part
จะระบุพร็อพเพอร์ตี้ที่ควรตั้งค่าโดยคําขอ API ที่แทรกหรืออัปเดตทรัพยากรด้วย
โปรดทราบว่าหากคําขออัปเดตไม่ได้ระบุค่าสําหรับพร็อพเพอร์ตี้ทรัพยากรที่เคยมีค่าไว้ ระบบจะลบค่าที่มีอยู่หากเงื่อนไขต่อไปนี้เป็นจริง
-
ค่าของพร็อพเพอร์ตี้จะแก้ไขตามคําขอได้ (เช่น เมื่ออัปเดตทรัพยากร
video
คุณจะอัปเดตค่าของพร็อพเพอร์ตี้snippet.description
ได้ แต่อัปเดตค่าของออบเจ็กต์snippet.thumbnails
ไม่ได้ -
ค่าพารามิเตอร์
part
ของคําขอระบุส่วนทรัพยากรที่มีพร็อพเพอร์ตี้
ตัวอย่าง
ตัวอย่างเช่น สมมติว่าคุณต้องการอัปเดตทรัพยากร video
ที่แสดงด้านล่าง (โปรดทราบว่าพร็อพเพอร์ตี้ทั้งหมดที่แสดงด้านล่างอัปเดตผ่าน API ได้ และระบบไม่สนใจพร็อพเพอร์ตี้ทรัพยากรที่ไม่เกี่ยวข้องกับตัวอย่าง)
{ "snippet": { "title": "Old video title", "description": "Old video description", "tags": ["keyword1","keyword2","keyword3"], "categoryId: 22 }, "status": { "privacyStatus": "private", "publishAt": "2014-09-01T12:00:00.0Z", "license": "youtube", "embeddable": True, "publicStatsViewable": True } }
คุณเรียกใช้เมธอด videos.update
และกําหนดค่าค่าพารามิเตอร์ part
เป็น snippet
เนื้อหาของคําขอ API มีทรัพยากรต่อไปนี้
{ "snippet": { "title": "New video title", "tags": ["keyword1","keyword2","keyword3"], "categoryId: 22 } }
คําขอนี้จะอัปเดตชื่อวิดีโอ ลบคําอธิบาย และไม่ได้เปลี่ยนแท็กหรือรหัสหมวดหมู่ คําอธิบายของวิดีโอถูกลบเนื่องจากคําขอไม่ได้ระบุค่าสําหรับพร็อพเพอร์ตี้ snippet.description
พร็อพเพอร์ตี้ในออบเจ็กต์ status
ไม่ได้รับผลกระทบเลย เนื่องจากค่าพารามิเตอร์ part
ไม่มี status
เป็นส่วนหนึ่งของคําขอที่จะอัปเดต หากเนื้อหาของคําขอ API มีออบเจ็กต์ status
ด้วย API นั้นจะส่งการตอบกลับ HTTP 400 (Bad Request)
เนื่องจากมีส่วนที่ไม่คาดคิดอยู่ในเนื้อหาของคําขอ