استخدام معرّفات القنوات

جيف بوسنيك، علاقات مطوّري البرامج على YouTube في حزيران (يونيو) 2013

على مدى أكثر من عام، كان من الممكن ربط الملفات الشخصية في Google+ بقنوات YouTube، وسجّلنا المدوّنة عن التغييرات التي طرأت على بعض الردود على الإصدار الثاني من Data API نتيجة لرابط الملف الشخصي هذا. مؤخرًا، أصبح من الممكن إنشاء قنوات جديدة على YouTube ليس لها اسم مستخدم تقليدي على YouTube مرتبط بها، وبدلاً من ذلك، يتم تحديدها فقط من خلال ملفها الشخصي في +Google. لا تزال الكثير من المعلومات من مشاركة المدونة هذه سارية، ولكن هذه التجربة الإضافية تلغي افتراضات أساسية عن قنوات YouTube، مثل ربط كل اسم منها باسم مستخدم فريد على YouTube دائمًا، ونريد متابعة بعض أفضل الممارسات الإضافية لكتابة رمز يتوافق مع جميع أنواع القنوات.

معرّفات القنوات في الإصدار الثالث من واجهة برمجة تطبيقات البيانات

تستخدم جميع عمليات الإصدار 3 التي تعمل مع القنوات معرّفات القنوات حصريًا كوسيلة للتعرّف على هذه القنوات. ويكون رقم التعريف لقناة مستخدم معيّن على YouTube متطابقًا في كل من الإصدارَين الثاني والثالث من واجهة برمجة التطبيقات، ما يسهّل عمليات نقل البيانات بين الإصدارات. قد يكون هذا الاعتماد الكامل على معرّفات القنوات أمرًا مُربكًا للمطوّرين الذين سبق لهم استخدام تمرير أسماء مستخدمي YouTube إلى طرق واجهة برمجة التطبيقات، ولكن تم تصميم الإصدار v3 للتعامل مع القنوات التي تستخدم أسماء مستخدمين قديمة وبدونها، وذلك يعني استخدام معرّفات القنوات في كل مكان.

إذا كنت تستخدم الإصدار 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") مفيدة. يجب أن تكون مستعدًا للتعامل مع احتمالية إرجاع المكالمة لأكثر من عنصر واحد في الرد، لأن الأسماء المعروضة غير فريدة.

معرّفات القنوات في الإصدار الثاني من Data API

ملاحظة: تمّ إيقاف واجهة برمجة التطبيقات YouTube Data API (الإصدار الثاني) منذ 26 شباط (فبراير) 2014 وتم إيقافها. يجب نقل التطبيقات التي لا تزال تستخدم الإصدار 2 من واجهة برمجة التطبيقات إلى الإصدار 3 على الفور.

إنّ أبرز ما تناوله مطوّرو البرامج الذين يستخدمون الإصدار الثاني من واجهة برمجة تطبيقات البيانات القديم هو أنّه يجب معرفة أنّ كل قناة على YouTube لا تحمل اسم مستخدم فريدًا. لحسن الحظ، تضمن كل قناة على YouTube معرّف قناة فريدًا مرتبطًا به، وتتمثّل هذه القيمة في القيمة علامة <yt:channelId>، وهذه هي القيمة التي ننصح مطوّري البرامج باستخدامها بدلاً من أسماء المستخدمين. على سبيل المثال، إذا كانت لديك قاعدة بيانات تربط بين أسماء المستخدمين على YouTube بمعلومات عن تلك القناة، يجب أن تستمر الإدخالات القديمة في العمل. (لن تفقد القنوات الحالية أسماء المستخدمين). ومع ذلك، مع مرور الوقت، يزداد احتمال أنك ستحتاج إلى التعامل مع قنوات لا يمكن تحديد اسمها بشكلٍ فريد.

يسهم بعض العوامل في عملية الانتقال من أسماء المستخدمين إلى معرّفات القنوات. أولاً، يقبل الإصدار الثاني من 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.