ใช้งานรหัสช่อง

Jeff Posnick ผู้ประสานงานนักพัฒนาซอฟต์แวร์ YouTube – มิถุนายน 2013

คุณสามารถลิงก์โปรไฟล์ Google+ กับช่อง YouTube ได้เป็นเวลากว่า 1 ปีแล้ว และเราได้เขียนบล็อกว่าการตอบสนองบางอย่างของ Data API v2 บางรายการเป็นผลมาจากลิงก์โปรไฟล์นั้น เมื่อไม่นานมานี้ คุณสามารถสร้างช่อง YouTube ใหม่ซึ่งไม่มีชื่อผู้ใช้ YouTube เดิมเชื่อมโยงอยู่ได้ และได้รับการระบุโดยโปรไฟล์ Google+ ของตนเองเพียงช่องทางเดียวเท่านั้น ข้อมูลจํานวนมากจากบล็อกโพสต์นั้นยังใช้ได้อยู่ แต่รอยย่นที่เกินมานี้อาจทําให้สมมติฐานพื้นฐานบางอย่างเกี่ยวกับช่อง YouTube ของคุณหายไป ซึ่งเหมือนกับว่าแต่ละข้อมูลจะเชื่อมโยงกับชื่อผู้ใช้ YouTube ที่ไม่ซ้ํากันเสมอ และเราต้องการติดตามผลด้วยแนวทางปฏิบัติที่ดีที่สุดอื่นๆ ในการเขียนโค้ดที่ใช้งานได้กับทุกรสนิยม

รหัสช่องใน Data API v3

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

หากคุณใช้ v3 และต้องการรหัสช่องที่สอดคล้องกับผู้ใช้ที่ได้รับอนุญาตในปัจจุบัน คุณสามารถเรียกใช้เมธอด channels.list(part="id", mine=true) ซึ่งเทียบเท่ากับการถามโปรไฟล์ช่องของผู้ใช้ default ใน v2

หากคุณพบว่าตัวเองมีชื่อผู้ใช้ YouTube เดิมที่กําหนดเองซึ่งคุณต้องการแปลงเป็นรหัสช่องโดยใช้ v3 ของ API คุณสามารถ channels.list(part="id", forUsername="username") เพื่อเรียก API

หากคุณทราบเพียงชื่อที่แสดงและกําลังมองหาช่องทางที่เกี่ยวข้อง วิธี search.list(part="snippet", type="channel", q="display name") จะมีประโยชน์ คุณควรเตรียมรับมือของโอกาสที่การโทรจะส่งคืนสินค้ามากกว่า 1 รายการในการตอบกลับ เนื่องจากชื่อที่แสดงจะไม่ซ้ํากัน

รหัสช่องใน Data API v2

หมายเหตุ: เราเลิกใช้งาน YouTube Data API (v2) แล้วตั้งแต่วันที่ 26 กุมภาพันธ์ 2014 และได้เลิกใช้งาน API แล้ว แอปพลิเคชันที่ยังใช้ v2 API ควรเปลี่ยนไปใช้ v3 API ทันที

สิ่งสําคัญที่สุดที่นักพัฒนาซอฟต์แวร์ใช้ Data API v2 รุ่นเก่าคือคุณต้องทราบว่าช่อง YouTube บางช่องไม่มีชื่อผู้ใช้ที่ไม่ซ้ํากัน อย่างไรก็ดี เรารับประกันว่าช่อง YouTube ทุกช่องจะมีรหัสช่องที่ไม่ซ้ํากันซึ่งเชื่อมโยงกับค่าในแท็ก <yt:channelId> ซึ่งเป็นค่าที่เราแนะนําให้นักพัฒนาซอฟต์แวร์ใช้แทนชื่อผู้ใช้ ตัวอย่างเช่น หากคุณมีฐานข้อมูลที่แมปชื่อผู้ใช้ YouTube กับข้อมูลเกี่ยวกับช่องนั้น รายการเก่าของคุณควรทํางานต่อไป (ช่องที่มีอยู่จะไม่สูญเสียชื่อผู้ใช้) อย่างไรก็ตาม เมื่อเวลาผ่านไป จะมีโอกาสที่คุณจะต้องทํางานร่วมกับช่องต่างๆ ซึ่งชื่อผู้ใช้ระบุได้อย่างไม่ซ้ํากัน

ปัจจัย 2-3 อย่างในการเปลี่ยนชื่อผู้ใช้ไปเป็นรหัสช่องทําได้ง่ายขึ้น ประการแรก API ข้อมูลเวอร์ชัน 2 จะยอมรับรหัสช่องใน URL คําขอทุกครั้งที่ยอมรับชื่อผู้ใช้ YouTube ซึ่งหมายความว่าคุณสามารถเปลี่ยนรหัสช่องไปเป็นโค้ดที่มีอยู่ได้อย่างราบรื่น ตัวอย่างเช่น เนื่องจาก UC_x5XG1OV2P6uZZ5FSM9Ttw คือรหัสช่องสําหรับช่องทางที่มีชื่อผู้ใช้ GoogleDevelopers เดิม URL 2 รายการต่อไปนี้จะเป็นคําขอ API ที่เทียบเท่า

https://gdata.youtube.com/feeds/api/users/GoogleDevelopers?v=2.1
https://gdata.youtube.com/feeds/api/users/UC_x5XG1OV2P6uZZ5FSM9Ttw?v=2.1

อีกเรื่องหนึ่งที่ต้องคํานึงถึงคือเมื่อใดก็ตามที่คุณส่งคําขอที่มีการตรวจสอบสิทธิ์เวอร์ชัน 2 คุณจะไม่จําเป็นต้องใส่ชื่อผู้ใช้ของช่องที่ได้รับอนุญาตเมื่อสร้าง URL คําขอ เพราะคุณสามารถใช้ค่า default แทนชื่อผู้ใช้ (หรือรหัสช่อง) ได้เสมอ ดังนั้น หากคุณต้องการดึงข้อมูลฟีดการอัปโหลดวิดีโอสําหรับผู้ใช้ที่ได้รับอนุญาตในปัจจุบัน คุณก็สามารถทําได้ที่ https://gdata.youtube.com/feeds/api/users/default/uploads?v=2.1