Как получить URL общедоступного канала из объекта YouTubeVideoFeed с помощью API YouTube? - PullRequest
1 голос
/ 22 апреля 2009

Я использую версию API YouTube для Python, чтобы получить объект YouTubeVideoFeed, используя следующий URL:

http://gdata.youtube.com/feeds/api/users/USERNAME/uploads

Примечание. Я заменил ИМЯ ПОЛЬЗОВАТЕЛЯ учетной записью, которой я должен следовать.

Пока что получать фид, повторять записи, получать URL-адреса игроков, титулы и миниатюры было просто. Но теперь я хочу добавить ссылку «Посещение канала» на страницу. Я не могу понять, как получить «общедоступный» URL канала (в данном случае канал по умолчанию от пользователя) из канала. Из того, что я могу сказать, единственные URL-адреса, хранящиеся непосредственно в фиде, указывают на http://gdata.youtube.com/, , а не публичный сайт.

Как я могу создать ссылку на канал на основе канала?

Ответы [ 2 ]

1 голос
/ 24 апреля 2009

Что ж, youtube.com/user/USERNAME - это довольно безопасная ставка, если вы хотите создать URL самостоятельно, но я думаю, что вам нужна ссылка rel = 'alternate'

Вы должны получить массив ссылок из канала и выполнить итерацию, чтобы найти альтернативу, а затем получить ссылку

что-то вроде:

client = gdata.youtube.service.YouTubeService()

feed = client.GetYouTubeVideoFeed('http://gdata.youtube.com/feeds/api/users/username/uploads')

for link in feed.link:
  if link.rel == 'alternate':
    print link.href

Выход:

http://www.youtube.com/profile_videos?user=username

Наиболее правильным было бы получить «альтернативную» ссылку из фида профиля пользователя, так как технически указанный выше URL идет к загруженным видео, а не к странице основного канала

feed = client.GetYouTubeUserEntry('http://gdata.youtube.com/feeds/api/users/username')

for link in feed.link:
  if link.rel == 'alternate':
    print link.href

выход: http://www.youtube.com/profile?user=username

0 голосов
/ 22 апреля 2009

возможно, вы путаете имена пользователей ... когда я использую свое имя пользователя, я получаю свою публичную страницу http://gdata.youtube.com/feeds/api/users/drdredel/uploads У них есть какое-то дурацкое различие между вашим именем пользователя Gmail и вашим именем пользователя YouTube. Или я неправильно понимаю ваш вопрос?

...