#iframe #youtube #youtube-api #playlist
#iframe #YouTube #youtube-api #список воспроизведения
Вопрос:
Похоже, что youtube теперь использует идентификаторы для своих каналов вместо имен (часть api V3)
Однако, похоже, что встроенный проигрыватель плейлистов iframe не может обрабатывать эти идентификаторы каналов
пример канала https://www.youtube.com/channel/UCpAOGs57EWRvOPXQhnYHpow
тогда идентификатор будет UCpAOGs57EWRvOPXQhnYHpow
Теперь попробуйте загрузить это
http://www.youtube.com/embed/?listType=user_uploadsamp;list=UCpAOGs57EWRvOPXQhnYHpow
Кто-нибудь может пролить свет на эту проблему? Или есть какое-то скрытое имя пользователя?
Я также разместил этот вопрос на веб-сайте gdata-issueshttp://code.google.com/p/gdata-issues/issues/detail?id=6463
Ответ №1:
Проблема здесь в том, что канал не является списком воспроизведения; каналы могут иметь несколько списков воспроизведения, однако параметр ListType предназначен для поиска фактического объекта информации о списке воспроизведения. Документированный способ обойти это — использовать API данных и вызвать конечную точку канала, просматривая часть contentDetails:
GET https://www.googleapis.com/youtube/v3/channels?part=contentDetailsamp;id=UCuo5NTU3pmtPejmlzjCgwdwamp;key={YOUR_API_KEY}
В результате вы получите все каналы, связанные с этим каналом, из которых вы можете выбирать:
"contentDetails": {
"relatedPlaylists": {
"uploads": "UUuo5NTU3pmtPejmlzjCgwdw"
}
}
Если доступно (иногда с OAuth), также могут быть списки «просмотр позже», списки «лайков» и т.д.
Это может показаться большими накладными расходами. В краткосрочной перспективе, однако, можно отметить, что разные каналы имеют программные имена; так, например, если мой пользовательский канал начинается с UC, а затем длинной строки, этот UC означает «пользовательский канал» — и лента загрузок будет начинаться с «UU» (пользовательские загрузки), а затем содержать остальную часть той же длинной строки. (у вас также должно быть ‘LL’ для списка лайков, ‘WL’ для списка просмотра позже, ‘HL’ для списка истории, ‘FL’ для списка избранного и т.д. Это НЕ задокументировано, и поэтому нет гарантии, что такое соглашение об именовании сохранится. Но, по крайней мере, на данный момент, вы могли бы изменить свою строку идентификатора с начинающейся с UC на начинающуюся с UU, вот так:
http://www.youtube.com/embed/?listType=user_uploadsamp;list=UUpAOGs57EWRvOPXQhnYHpow
И это прекрасно встраивается.
Комментарии:
1. Вау, откуда ты это взял? Кажется, это работает.
2. Просто хотел добавить, это все еще работает, НО вам нужно изменить «user_uploads» на список воспроизведения.
Ответ №2:
Просто чтобы сообщить о текущем положении вещей — изменение, предложенное jlmcdonald, больше не работает, но вы все еще можете получить правильную ссылку для встраивания через videoseries (с тем же изменением UC на UU). I.o.w. ссылка, подобная
http://www.youtube.com/embed/videoseries?list=UUpAOGs57EWRvOPXQhnYHpow
работает на момент написания этого.
Комментарии:
1. Это не работает с моим youtube.com/embed/videoseries?list=UC_xbondqccQw691wA-xum_A
2. @CainNuke это youtube.com/embed/videoseries?list=UU_xbondqccQw691wA-xum_A — необходимо изменить выделенную букву: с U C _xbondqccQw691wA-xum_A на U U _xbondqccQw691wA-xum_A.