ตัวอย่างต่อไปนี้แสดงวิธีเรียกข้อมูลการตอบกลับบางส่วนของ API ใน YouTube Data API (v3)
หมายเหตุ: คู่มือเริ่มต้นใช้งานของ API มีรายละเอียดเพิ่มเติมเกี่ยวกับคำขอและการตอบกลับบางส่วน
API เวอร์ชัน 3 อนุญาตและกำหนดให้ดึงข้อมูลบางส่วนเพื่อให้แอปพลิเคชันหลีกเลี่ยงการโอน การแยกวิเคราะห์ และการจัดเก็บข้อมูลที่ไม่จำเป็นต้องใช้ แนวทางนี้ยังช่วยให้ 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)
เนื่องจากมีส่วนที่ไม่คาดคิดรวมอยู่ในเนื้อหาคำขอ