การใช้งาน: การตอบกลับบางส่วน

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