جيف بوسنيك، مدير علاقات المطوّرين في YouTube، حزيران (يونيو) 2013
منذ أكثر من عام، أصبح بإمكانك ربط الملفات الشخصية على Google+ بالقنوات على YouTube، وقد نشرنا مقالة عن التغييرات التي طرأت على بعض ردود Data API v2 نتيجةً لربط الملف الشخصي. في الآونة الأخيرة، أصبح من الممكن إنشاء قنوات جديدة على YouTube لا تتضمّن اسم مستخدم عاديًا على YouTube، بل يتم التعرّف عليها من خلال ملفها الشخصي على Google+ فقط. لا تزال الكثير من المعلومات الواردة في هذه المقالة سارية، ولكنّ هذه المشكلة الجديدة تبطل بعض الافتراضات الأساسية حول قنوات YouTube، مثل أنّ كل قناة ستكون مرتبطة دائمًا باسم مستخدم فريد على YouTube. أردنا متابعة هذه المقالة ببعض أفضل الممارسات الإضافية لكتابة رموز برمجية تعمل مع جميع أنواع القنوات.
معرّفات القنوات في الإصدار 3 من Data API
إنّ جميع عمليات الإصدار 3 التي تعمل مع القنوات تستخدم معرّفات القنوات حصريًا كوسيلة لتحديد هذه القنوات. يكون معرّف قناة مستخدم معيّن على YouTube مطابقًا في كل من الإصدار 2 والإصدار 3 من واجهة برمجة التطبيقات، ما يسهّل نقل البيانات بين الإصدارَين. قد يكون هذا الاعتماد الكامل على معرّفات القنوات مربكًا للمطوّرين الذين اعتادوا في السابق على ضبط أسماء مستخدمين على YouTube في طرق واجهة برمجة التطبيقات، ولكن تم تصميم الإصدار 3 للتعامل مع القنوات التي تتضمّن أسماء مستخدمين قديمة أو لا تتضمّنها بشكلٍ متطابق، ما يعني استخدام معرّفات القنوات في كل مكان.
إذا كنت تستخدم الإصدار 3 وتريد استرداد معرّف القناة الذي يخصّ المستخدم المفوَّض حاليًا، يمكنك استدعاء الطريقة channels.list(part="id", mine=true)
. ويعادل ذلك طلب الملف الشخصي للقناة للمستخدم default
في الإصدار 2.
إذا كان لديك اسم مستخدم قديم عشوائي على YouTube وتريد تحويله إلى معرّف قناة باستخدام الإصدار 3 من واجهة برمجة التطبيقات، يمكنك إجراء channels.list(part="id", forUsername="username")
طلب إلى واجهة برمجة التطبيقات.
إذا كنت تعرف اسمًا معروضًا فقط وتبحث عن القناة المقابلة له، ستكون طريقة search.list(part="snippet", type="channel", q="display name")
مفيدة. يجب أن تكون مستعدًا للتعامل مع احتمالية أن يعرض الطلب أكثر من عنصر واحد في الردّ، لأنّ الأسماء المعروضة ليست فريدة.
معرّفات القنوات في الإصدار 2 من Data API
ملاحظة: تم إيقاف استخدام YouTube Data API (الإصدار 2) نهائيًا منذ 26 شباط (فبراير) 2014، وتم إيقاف واجهة برمجة التطبيقات. على التطبيقات التي لا تزال تستخدم الإصدار 2 من واجهة برمجة التطبيقات نقل بياناتها إلى الإصدار 3 من واجهة برمجة التطبيقات على الفور.
إنّ أهم ملاحظة للمطوّرين الذين يستخدمون الإصدار القديم من Data API v2 هي أنّه ليس لكل قناة على YouTube اسم مستخدم فريد. لحسن الحظ، تتضمّن كل قناة على YouTube معرّفًا فريدًا يرتبط بها، ويُمثّل هذه القيمة في علامة <yt:channelId>
، وهي القيمة التي ننصح المطوّرين باستخدامها بدلاً من الأسماء المعرِّفة. على سبيل المثال، إذا كانت لديك قاعدة بيانات تربط أسماء مستخدمي YouTube بمعلومات عن هذه القناة، من المفترض أن تستمر الإدخالات القديمة في العمل. (لن تفقد القنوات الحالية أسماء المستخدمين الخاصة بها). ومع مرور الوقت، سيزداد احتمال أن تتعامل مع قنوات لا يمكن تحديدها بشكل فريد باستخدام اسم مستخدم.
هناك عاملان يبسطان عملية الانتقال من الأسماء المعرِّفة للمستخدمين إلى أرقام تعريف القنوات. أولاً، يقبل الإصدار 2 من Data API أرقام تعريف القنوات في عناوين URL للطلبات حيث يقبل أسماء مستخدمي YouTube، ما يعني أنّه يمكنك استبدال رقم تعريف قناة بسلاسة في الرمز البرمجي الحالي. على سبيل المثال، بما أنّ UC_x5XG1OV2P6uZZ5FSM9Ttw
هو معرّف القناة التي تحمل اسم المستخدم القديم GoogleDevelopers
، فإنّ عنوانَي URL التاليَين هما طلبَا بيانات متكافئَين من واجهة برمجة التطبيقات:
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
.