บริการ API ของ YouTube - ฟังก์ชันการทำงานขั้นต่ำที่จำเป็น

หมายเหตุ: การปฏิบัติตามนโยบายสำหรับนักพัฒนาแอป YouTube มีคำแนะนำและตัวอย่างเพื่อช่วยให้คุณมั่นใจได้ว่าไคลเอ็นต์ API จะปฏิบัติตามข้อกำหนดและนโยบายของบริการ API ของ YouTube (API TOS) ที่เฉพาะเจาะจง คู่มือนี้ให้ข้อมูลเชิงลึกเกี่ยวกับวิธีที่ YouTube บังคับใช้ข้อกำหนดในการให้บริการของ API ในบางแง่มุม แต่ไม่ได้แทนที่เอกสารที่มีอยู่

เอกสารนี้ระบุข้อกำหนดด้านฟังก์ชันการทำงานขั้นต่ำสำหรับไคลเอ็นต์ API ที่ใช้หรือให้สิทธิ์เข้าถึงฟีเจอร์เฉพาะของบริการ YouTube API ("ไคลเอ็นต์ API")

ข้อกำหนดและหลักเกณฑ์เหล่านี้ช่วยให้มั่นใจว่าไคลเอ็นต์ API จะมอบประสบการณ์ของผู้ใช้ที่สอดคล้องกัน ซึ่งปกป้องผลประโยชน์ของผู้ใช้ เจ้าของเนื้อหา และผู้ลงโฆษณา YouTube กฎเหล่านี้เป็นส่วนหนึ่งของข้อกำหนดในการให้บริการ YouTube API และต้องปฏิบัติตามในการพัฒนาและนำไคลเอ็นต์ API ไปใช้

คุณควรมีการเปลี่ยนแปลงข้อกำหนดในเอกสารฉบับนี้ เพื่อให้เรามั่นใจได้ว่าผู้ใช้จะได้รับประสบการณ์ที่ดีขึ้นในการใช้งานฟีเจอร์ที่มีอยู่ของ YouTube โดยจะมีการเปลี่ยนแปลงเพื่อตอบสนองต่อฟีเจอร์ใหม่ๆ ของ YouTube ที่ได้รับการอัปเดตด้วย บางครั้ง การเปลี่ยนแปลงดังกล่าวอาจกำหนดให้คุณต้องอัปเดตไคลเอ็นต์ API เพื่อให้เป็นไปตามข้อกำหนดใหม่ ประวัติการแก้ไขข้อกำหนดในการให้บริการจะบันทึกการเปลี่ยนแปลงทั้งหมด ดังนั้นโปรดตรวจสอบเอกสารนั้นบ่อยๆ หรือสมัครรับฟีด RSS เพื่อให้แน่ใจว่าคุณจะดูการเปลี่ยนแปลงที่อาจส่งผลต่อไคลเอ็นต์ API ได้อย่างรวดเร็ว

นอกเหนือจากข้อกำหนดในเอกสารนี้แล้ว ขอแนะนำอย่างยิ่งให้คุณทำตามแนวทางปฏิบัติแนะนำที่อธิบายไว้ในนโยบายบริการ API ของ YouTube และได้อธิบายไว้ในเอกสารของบริการ API ของ YouTube ที่อื่น แนวทางปฏิบัติเหล่านี้จะช่วยให้ไคลเอ็นต์ API กู้คืนจากข้อผิดพลาดได้เร็วขึ้นและเพิ่มประสิทธิภาพการใช้โควต้าได้หากใช้บริการ API ของ YouTube ที่จัดสรรโควต้า แม้จะไม่ได้กำหนดให้ต้องทำอย่างเคร่งครัดก็ตาม ในขณะเดียวกัน แนวทางปฏิบัติเหล่านี้ช่วยให้ระบบนิเวศของ YouTube มีสถานะที่ดี และที่สำคัญที่สุดคือ มอบประสบการณ์ที่ดีที่สุดแก่ผู้ใช้ไคลเอ็นต์ API และแอปพลิเคชัน YouTube ของคุณ

โปรแกรมเล่นและการเล่นวิดีโอแบบฝังของ YouTube

ข้อกำหนดในส่วนนี้เกี่ยวข้องกับโปรแกรมเล่นแบบฝังของ YouTube โดยเฉพาะ นอกจากนี้ นโยบายบริการ API ของ YouTube ยังมีนโยบายต่างๆ ที่เกี่ยวข้องกับไคลเอ็นต์ API ที่เล่นเนื้อหาภาพและเสียงของ YouTube

ขนาดโปรแกรมเล่นวิดีโอ YouTube แบบฝัง

โปรแกรมเล่นที่ฝังจะต้องมีวิวพอร์ตขนาดอย่างน้อย 200 x 200 พิกเซล หากโปรแกรมเล่นแสดงตัวควบคุม ตัวควบคุมนั้นต้องมีขนาดใหญ่พอที่จะแสดงตัวควบคุมทั้งหมดได้โดยไม่มีการย่อวิวพอร์ตให้ต่ำกว่าขนาดขั้นต่ำ โดยโปรแกรมเล่นวิดีโอ 16:9 ควรมีความกว้างอย่างน้อย 480 พิกเซลและสูง 270 พิกเซล

การเล่นอัตโนมัติและการเล่นตามสคริปต์

ส่วนนี้จะครอบคลุมการเล่นอัตโนมัติ โดยจะมีผลกับโปรแกรมเล่นแบบฝังของ YouTube ที่ใช้พารามิเตอร์โปรแกรมเล่น autoplay หรือเริ่มการเล่นอัตโนมัติแบบเป็นโปรแกรมโดยใช้บริการ YouTube IFrame Player API, บริการ YouTube Android Player API หรือบริการ YouTube API อื่นๆ

  • โปรแกรมเล่นแบบฝังที่เล่นวิดีโอโดยอัตโนมัติควรเริ่มเล่นทันทีเมื่อหน้าโหลดขึ้นมาหรือทันทีที่โปรแกรมเล่นแบบฝังปรากฏขึ้นทั้งหมด อย่างไรก็ตาม ไคลเอ็นต์ API ต้องไม่เริ่มเล่นโดยอัตโนมัติจนกว่าจะแสดงโปรแกรมเล่นและเห็นโปรแกรมเล่นมากกว่าครึ่งหนึ่งในหน้าเว็บหรือหน้าจอ

  • หน้าหรือหน้าจอต้องมีโปรแกรมเล่น YouTube ไม่เกิน 1 รายการที่เล่นเนื้อหาพร้อมกันโดยอัตโนมัติ

  • ภาพขนาดย่อของ YouTube ที่เริ่มเล่นต้องมีความกว้างอย่างน้อย 120 พิกเซลและสูง 70 พิกเซลเป็นอย่างน้อย

แอตทริบิวต์ของโปรแกรมเล่น YouTube

แอตทริบิวต์และพารามิเตอร์ของโปรแกรมเล่นวิดีโอ YouTube เช่น ลักษณะการแสดงแบรนด์ YouTube ในโปรแกรมเล่นจะอยู่ในเอกสารประกอบและข้อกำหนดของ YouTube API (https://developers.google.com/youtube) คุณต้องไม่ทำการเปลี่ยนแปลงในโปรแกรมเล่นวิดีโอ YouTube ที่ไม่ได้อธิบายไว้อย่างชัดเจนในเอกสารประกอบของ API

การวางซ้อนและเฟรม

คุณต้องไม่แสดงการวางซ้อน เฟรม หรือองค์ประกอบภาพอื่นๆ ด้านหน้าส่วนใดส่วนหนึ่งของโปรแกรมเล่นแบบฝังของ YouTube รวมถึงตัวควบคุมวิดีโอเพลเยอร์ ในทำนองเดียวกัน คุณต้องไม่ใช้การวางซ้อน เฟรม หรือองค์ประกอบภาพอื่นๆ เพื่อบดบังส่วนใดๆ ของโปรแกรมเล่นแบบฝัง รวมถึงตัวควบคุมโปรแกรมเล่น

เมาส์โอเวอร์

คุณต้องไม่ใช้เมาส์โอเวอร์หรือการแตะที่โปรแกรมเล่นบน YouTube เพื่อเริ่มการดำเนินการใดๆ ในนามของผู้ใช้ เช่น การเปิดหน้าต่างหรือการติดตามช่อง

การอัปโหลดวิดีโอ

หากไคลเอ็นต์ API อนุญาตให้ผู้ใช้อัปโหลดเนื้อหาไปยังหลายแพลตฟอร์ม ผู้ใช้ควรสามารถเลือกและยกเลิกการเลือกแพลตฟอร์มที่ต้องการอัปโหลดวิดีโอได้

ข้อกำหนดด้านข้อมูล

ไคลเอ็นต์ API ที่ช่วยให้ผู้ใช้อัปโหลดวิดีโอไปยัง YouTube ได้จะต้องเปิดให้ผู้ใช้ตั้งค่าในรายการต่อไปนี้ พร็อพเพอร์ตี้ที่ไม่อยู่ในรายการเป็นตัวเลือกที่ไม่บังคับ

  ชื่อ คำอธิบาย
พร็อพเพอร์ตี้ของทรัพยากร
snippet.title ต้องระบุ ชื่อของวิดีโอ YouTube จะแสดงข้อผิดพลาดหากค่ามีอักขระเกิน 100 ตัว YouTube รองรับอักขระ UTF-8 ที่ถูกต้องทั้งหมด ยกเว้น < และ >

snippet.description ต้องระบุ คำอธิบายวิดีโอ YouTube จะส่งกลับข้อผิดพลาดหากค่าเกิน 5000 ไบต์ YouTube รองรับอักขระ UTF-8 ที่ถูกต้องทั้งหมด ยกเว้น < และ >
status.privacyStatus ต้องระบุ การตั้งค่าความเป็นส่วนตัวของวิดีโอ ผู้ใช้ต้องเลือกได้ว่าจะให้วิดีโอที่อัปโหลดเป็นแบบสาธารณะ ส่วนตัว หรือไม่เป็นสาธารณะ
พารามิเตอร์คำขอ
onBehalfOfContentOwnerChannel ต้องมีเงื่อนไข หากข้อมูลเข้าสู่ระบบการให้สิทธิ์ของคำขอระบุเจ้าของเนื้อหาและมีการตั้งค่าพารามิเตอร์ onBehalfOfContentOwner ไว้ ผู้ใช้ API จะต้องระบุช่อง YouTube ที่จะอัปโหลดวิดีโอได้ด้วย

กำลังแสดงความคิดเห็น

  ชื่อ คำอธิบาย
พร็อพเพอร์ตี้ของทรัพยากร
snippet.textDisplay ต้องระบุ ข้อความของความคิดเห็น ไคลเอ็นต์ API ต้อง (ก) แสดงข้อความแบบเต็มของความคิดเห็นหรือการตอบกลับความคิดเห็น หรือ (ข) ตัดข้อความและให้วิธีที่ผู้ดูเข้าถึงข้อความทั้งหมดจากเวอร์ชันที่ตัดให้สั้นลงได้อย่างง่ายดาย

ข้อกำหนดนี้ใช้กับความคิดเห็นและการตอบกลับความคิดเห็นทั้งหมด โดยไม่คำนึงว่าความคิดเห็นนั้นเชื่อมโยงกับทรัพยากรประเภทใด (วิดีโอ ช่อง ฯลฯ)

โปรดทราบว่าค่าพร็อพเพอร์ตี้ snippet.topLevelComment ของทรัพยากร commentThread คือทรัพยากร comment ของทรัพยากร replies.comments[] และพร็อพเพอร์ตี้ replies.comments[]comment ข้อกําหนดนี้จึงมีผลกับพร็อพเพอร์ตี้ snippet.topLevelComment.snippet.textDisplay และ replies.comments[].snippet.textDisplay ด้วย
snippet.title
(channel)
ต้องระบุ (คำแนะนำ) ชื่อของช่อง
  • หากความคิดเห็นเกี่ยวข้องกับแชแนล ไคลเอ็นต์ API ต้องแสดงชื่อของแชแนล
  • หากความคิดเห็นเกี่ยวข้องกับวิดีโอ ไคลเอ็นต์ API ต้องแสดงชื่อช่องที่อัปโหลดวิดีโอ
snippet.title
(video)
ต้องระบุ (คำแนะนำ) ชื่อของวิดีโอ คุณต้องระบุค่านี้หากความคิดเห็นเกี่ยวข้องกับวิดีโอ
snippet.moderationStatus ต้องมีเงื่อนไข หากค่าพารามิเตอร์ moderationStatus ในคำขอ API คือ heldForReview หรือ likelySpam จอแสดงผลต้องระบุสถานะนั้นอย่างชัดเจนโดยใช้ค่าพร็อพเพอร์ตี้ ภาษาที่คล้ายกัน (เช่น "ความคิดเห็นนี้ถูกระงับเพื่อรอการตรวจสอบ") ส่วนหัว (เช่น "ระงับเพื่อรอตรวจสอบ") หรือภาษาอื่นๆ ที่ไม่กำกวม เมธอด commentThreads.list รองรับความสามารถในการเรียกความคิดเห็นตามสถานะการดูแล

การเพิ่มความคิดเห็น

  ชื่อ คำอธิบาย
พร็อพเพอร์ตี้ของทรัพยากร
snippet.title
(channel)
ต้องระบุ ชื่อของช่อง
  • หากผู้ใช้เพิ่มความคิดเห็นเกี่ยวกับแชแนล ไคลเอ็นต์ API ต้องแสดงชื่อของแชแนล
  • หากผู้ใช้เพิ่มความคิดเห็นเกี่ยวกับวิดีโอ ไคลเอ็นต์ API จะต้องแสดงชื่อช่องที่อัปโหลดวิดีโอ
snippet.title
(video)
ต้องระบุ หากผู้ใช้เพิ่มความคิดเห็นเกี่ยวกับวิดีโอ ไคลเอ็นต์ API จะต้องแสดงชื่อวิดีโอ
ข้อกำหนดอื่นๆ
Comment author's channel name ต้องระบุ ไคลเอ็นต์ API จะต้องระบุบัญชีผู้ใช้ YouTube ที่เป็นแหล่งที่มาของความคิดเห็นอย่างชัดเจน หากข้อมูลเข้าสู่ระบบการให้สิทธิ์ของคำขอระบุเจ้าของเนื้อหาและมีการตั้งค่าพารามิเตอร์ onBehalfOfContentOwner ไว้ ผู้ใช้ API จะต้องสามารถระบุช่อง YouTube ที่จะระบุแหล่งที่มาของความคิดเห็นได้ด้วย

การเพิ่มการตอบกลับความคิดเห็น

  ชื่อ คำอธิบาย
พร็อพเพอร์ตี้ของทรัพยากร
snippet.textDisplay ต้องระบุ ข้อความของความคิดเห็น ไคลเอ็นต์ API จะต้องแสดงข้อความของความคิดเห็นที่ผู้ใช้กำลังตอบกลับตามกฎที่กำหนดไว้ในส่วนการแสดงความคิดเห็นของเอกสารนี้
snippet.title
(channel)
ต้องระบุ ชื่อของช่อง
  • หากผู้ใช้กำลังตอบกลับความคิดเห็นเกี่ยวกับแชแนล ไคลเอ็นต์ API จะต้องแสดงชื่อของแชแนลนั้น
  • หากผู้ใช้ตอบกลับความคิดเห็นเกี่ยวกับวิดีโอ ไคลเอ็นต์ API จะต้องแสดงชื่อช่องที่อัปโหลดวิดีโอ
snippet.title
(video)
ต้องระบุ หากผู้ใช้ตอบกลับความคิดเห็นเกี่ยวกับวิดีโอ ไคลเอ็นต์ API จะต้องแสดงชื่อวิดีโอ
ข้อกำหนดอื่นๆ
Comment author's channel name ต้องระบุ ไคลเอ็นต์ API จะต้องระบุบัญชีผู้ใช้ YouTube ที่เป็นแหล่งที่มาของการตอบกลับความคิดเห็นอย่างชัดเจน หากข้อมูลเข้าสู่ระบบการให้สิทธิ์ของคำขอระบุเจ้าของเนื้อหาและมีการตั้งค่าพารามิเตอร์ onBehalfOfContentOwner ไว้ ผู้ใช้ API จะต้องสามารถระบุช่อง YouTube ที่จะใช้เป็นแหล่งที่มาของการตอบกลับความคิดเห็น

การแก้ไขหรือลบการตอบกลับความคิดเห็น

  ชื่อ คำอธิบาย
พร็อพเพอร์ตี้ของทรัพยากร
snippet.textDisplay ต้องระบุ ข้อความของความคิดเห็น ไคลเอ็นต์ API ต้องแสดงข้อความของความคิดเห็นที่ผู้ใช้กำลังแก้ไขหรือลบตามกฎที่กำหนดไว้ในส่วนการแสดงความคิดเห็นของเอกสารนี้
snippet.title
(channel)
ต้องระบุ ชื่อของช่อง
  • หากผู้ใช้กำลังแก้ไขหรือลบความคิดเห็นเกี่ยวกับแชแนล ไคลเอ็นต์ API จะต้องแสดงชื่อของแชแนลนั้น
  • หากผู้ใช้กำลังแก้ไขหรือลบความคิดเห็นเกี่ยวกับวิดีโอ ไคลเอ็นต์ API จะต้องแสดงชื่อช่องที่อัปโหลดวิดีโอ
snippet.title
(video)
ต้องระบุ หากผู้ใช้กำลังแก้ไขหรือลบความคิดเห็นเกี่ยวกับวิดีโอ ไคลเอ็นต์ API จะต้องแสดงชื่อวิดีโอ
ข้อกำหนดอื่นๆ
Comment author's channel name ต้องระบุ ไคลเอ็นต์ API จะต้องระบุบัญชีผู้ใช้ YouTube ที่เป็นแหล่งที่มาของความคิดเห็นอย่างชัดเจน

แบนผู้ใช้จากแชทสด (หรือการแบน)

  ชื่อ คำอธิบาย
พร็อพเพอร์ตี้ของทรัพยากร
snippet.title
(channel)
ต้องระบุ ชื่อช่อง YouTube ที่ถูกแบนหรือเลิกแบน นอกจากนี้ ชื่อต้องลิงก์ไปยังช่องหรือ URL ของช่องจะต้องแสดง
ข้อกำหนดอื่นๆ
ชื่อช่องของผู้เขียนความคิดเห็น ต้องระบุ ไคลเอ็นต์ API จะต้องระบุบัญชีผู้ใช้ YouTube ที่ใช้เพื่อเพิ่มหรือนำการแบนอย่างชัดเจน