Jeff Posnick, מנהל קשרי מפתחים ב-YouTube – יוני 2013
במשך יותר משנה, אפשר היה לקשר פרופילים של Google+ לערוצי YouTube, ופרסמנו בבלוג איך חלק מהתשובות של Data API גרסה 2 השתנו כתוצאה מהקישור הזה לפרופיל. לאחרונה, ניתן ליצור ערוצים חדשים ב-YouTube שלא משויכים אליהם שמות משתמש מסורתיים ב-YouTube, ובמקום זאת הם מזוהים רק לפי פרופיל Google+ שלהם. רוב המידע שפורסם בפוסט הזה עדיין רלוונטי, אבל העובדה הזו מבטלת כמה הנחות בסיסיות לגבי ערוצי YouTube – למשל, שכל ערוץ תמיד ישויך לשם משתמש ייחודי ב-YouTube – ורצינו להוסיף כמה שיטות מומלצות נוספות לכתיבת קוד שעובד עם כל סוגי הערוצים.
מזהי ערוצים ב-Data API גרסה 3
כל הפעולות בגרסה 3 שעובדות עם ערוצים משתמשות במזהי ערוצים בלבד כדרך לזיהוי הערוצים האלה. המזהה של ערוץ של משתמש ספציפי ב-YouTube זהה גם ב-API בגרסה 2 וגם ב-API בגרסה 3, כך שקל יותר לבצע העברות בין הגרסאות. ההסתמכות המלאה על מזהי ערוצים עשויה לבלבל מפתחים שהיו רגילים להעביר שמות משתמשים ב-YouTube לשיטות API, אבל גרסה 3 תוכננה כך שתתייחס לערוצים עם שמות משתמשים מדור קודם ועם שמות משתמשים חדשים באופן זהה, כלומר צריך להשתמש במזהי ערוצים בכל מקום.
אם אתם משתמשים בגרסה 3 ואתם רוצים לאחזר את מזהה הערוץ שתואם למשתמש המורשה הנוכחי, אתם יכולים לקרוא ל-method channels.list(part="id", mine=true)
. הבקשה הזו זהה לבקשת פרופיל הערוץ של המשתמש default
בגרסה 2.
אם נתקלתם בשם משתמש שרירותי מדור קודם ב-YouTube שאתם צריכים לתרגם למזהה ערוץ באמצעות גרסה 3 של ה-API, תוכלו לבצע קריאה ל-channels.list(part="id", forUsername="username")
ב-API.
אם אתם יודעים רק שם מוצג ואתם רוצים למצוא את הערוץ התואם, השיטה search.list(part="snippet", type="channel", q="display name")
תעזור לכם. חשוב להיות מוכנים לאפשרות שהקריאה תחזיר יותר מפריט אחד בתגובה, כי השמות המוצגים לא ייחודיים.
מזהי ערוצים ב-Data API v2
הערה: YouTube Data API (גרסה 2) הוצא משימוש ב-26 בפברואר 2014, וממשק ה-API הושבת. אפליקציות שעדיין משתמשות ב-API v2 צריכות לעבור ל-API v3 באופן מיידי.
המסקנה החשובה ביותר למפתחים שמשתמשים ב-Data API v2 הגרסה הישנה היא שלא לכל ערוץ YouTube יש שם משתמש ייחודי. למרבה המזל, לכל ערוץ YouTube יש מזהה ערוץ ייחודי שמשויך אליו, שמיוצג על ידי הערך בתג <yt:channelId>
. זהו הערך שאנחנו ממליצים למפתחים להשתמש בו במקום בשמות משתמשים. לדוגמה, אם יש לכם מסד נתונים שממפה שמות משתמשים ב-YouTube למידע על הערוץ, הרשומות הישנות אמורות להמשיך לפעול. (ערוצים קיימים לא יאבדו את שמות המשתמשים שלהם). עם זאת, ככל שיחלוף הזמן, סביר יותר ויותר שתצטרכו לעבוד עם ערוצים שלא ניתן לזהות באופן ייחודי באמצעות שם משתמש.
יש כמה גורמים שמפשטים את המעבר משמות משתמשים למזהי ערוצים. ראשית, Data API v2 מקבל מזהי ערוצים בכתובות URL של בקשות בכל מקום שבו הוא מקבל שמות משתמש ב-YouTube. כלומר, אפשר להחליף מזהה ערוץ בקוד הקיים בצורה חלקה. לדוגמה, מאחר ש-UC_x5XG1OV2P6uZZ5FSM9Ttw
הוא מזהה הערוץ של הערוץ עם שם המשתמש הקודם GoogleDevelopers
, שתי כתובות ה-URL הבאות הן בקשות API זהות:
https://gdata.youtube.com/feeds/api/users/GoogleDevelopers?v=2.1
https://gdata.youtube.com/feeds/api/users/UC_x5XG1OV2P6uZZ5FSM9Ttw?v=2.1
חשוב לזכור גם שכאשר שולחים בקשות v2 מאומתות, אף פעם לא צריך לכלול את שם המשתמש של הערוץ המורשה בזמן יצירת כתובות ה-URL של הבקשות. תמיד אפשר להשתמש בערך default
במקום שם משתמש (או מזהה ערוץ). לדוגמה, אם רוצים לאחזר את הפיד של העלאות הסרטונים של המשתמש המורשה הנוכחי, אפשר לעשות זאת בכתובת https://gdata.youtube.com/feeds/api/users/default/uploads?v=2.1
.