How to embed a youtube playlist with a sidebar

一个人想着一个人 提交于 2020-01-23 08:42:09

问题


I'm trying to embed a youtube playlist with a sidebar to my html page.

The playlist itself can be embedded by this html code:

<iframe width="560" height="315" src="https://www.youtube.com/embed/videoseries?list=PLMC9KNkIncKtPzgY-5rmhvj7fax8fdxoj" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="1"/>

This displays the playlist, but without a sidebar. So I now want to add a sidebar next to the youtube playlist display.

So the final view should be something like this:

The sidebar items should be the thumbnail images of the next videos. You should be able to scroll/navigate to the next/previous videos in the playlist that aren't displayed. And when you click on the sidebar items the displayed video should be updated to the clicked video and the sidebar should updated to the next available videos.

On youtube playlist sidebars are displayed like this:

So we would like an alteration of that sidebar with only the image thumbnails. So a 'cleaner' look of the youtube sidebar.

Note: The solution should only use html/css/javascript.

These 2 questions have asked the same:

Embed YouTube Playlist plugin with sidebar list visible

Embed youtube playlist with side list tray

But these are from to long ago and both the iframe and plugin solution don't seem work anymore.

Thanks for any help!

EDIT: Functioning example based on answer


回答1:


TL;DR: you'll have to use official Google Youtube API


Unfortunately it's impossible to use the same "easy" approach, like the one that you use with a iframe embedded Youtube. To be able to customize the look of the playlist you need to do a few preparation steps:

  1. Create a google developer account to receive the needful API.
  2. Create a project
  3. On the credentials page - on the tab OAuth consent screen fill the required fields and add your site domain into Authorized domains section (For testing purposes add a https://cdpn.io, but don't forget to replace it with your actual site domain later)
  4. Go again to the credentials page - create an API key, restrict it to use only the Youtube Data API (at the very bottom of the list)
  5. Go again to the credentials page - create an OAuth ClientId. For testing purposes add a https://cdpn.io domain to the Authorized JavaScript origins, but don't forget to replace it with your actual site domain later
  6. Enable the API Services for Youtube

Then, after doing all from this list, see the codepen example how to orchestrate this. A few requirements:

  • Fill API keys variables
  • The implementation, that built on the Google API, will require the confirmation from user to access the services. This is up to you to think of the flow when to initialize this confirmation pop.

Updates:

Indeed, you were right, those methods can be invoked without auth.

Here is your upgraded version of the list




回答2:


You could YouTube Data API to embed a YouTube playlist with a sidebar but for that you have to do a lot of stuff. You would have to create a Google Developer account so that you get access to that API. Then you could create your project and create API and modify it according to your needs. And after you have made all the changes enable the API Services for YouTube and you are good to go.




回答3:


Implement divs of main page and sidebar, the way you embed video anywhere in the page, add it to the sidebar div, no trouble.



来源:https://stackoverflow.com/questions/57459015/how-to-embed-a-youtube-playlist-with-a-sidebar

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!