ตัวอย่างต่อไปนี้แสดงวิธีเรียกข้อมูลการตอบกลับบางส่วนของ 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) เนื่องจากมีส่วนที่ไม่คาดคิดรวมอยู่ในเนื้อหาคำขอ