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

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

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

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

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

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

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

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

ขนาดวิดีโอเพลเยอร์ YouTube ที่ฝัง

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

การเล่นอัตโนมัติและการเล่นที่ใช้สคริปต์

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

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

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

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

แอตทริบิวต์ของ YouTube Player

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

การแสดงความคิดเห็น

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

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

โปรดทราบว่าค่าพร็อพเพอร์ตี้ snippet.topLevelComment ของทรัพยากร commentThread คือทรัพยากร comment และพร็อพเพอร์ตี้ 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 ที่ใช้เพื่อเพิ่มหรือนำการแบนออกอย่างชัดเจน