ВНИМАНИЕ upd от 21.02.2024: способ перестал работать в Хроме начиная с версии 121-122 возможно из-за изменений в политике куки. Как вариант вы можете создать плейлист со всеми видео вручную и использовать его. При этом каждый раз нужно будет добавлять в него новое видео.
Чтобы вставить на страницу iframe, который всегда будет показывать последнее видео с ютьюб канала без API:
- Узнайте свой код канала. Для этого можно зайти на ютьюб (не студию, а просто) > нажать на аватарку в углу > Настройки > Расширенные настройки. И там будет Идентификатор канала. Кроме того это часть url адреса, которую можно увидеть, если вы не меняли адрес канала на уникальный или в студии в Настройках канала.
- Первая буква будет U, а вторая какая-то другая. Нужно поменять вторую на U. То есть в начале будет UU. Например было
UCzS4sE_0ltfSz6qx_FUCTdA
, а станетUUzS4sE_0ltfSz6qx_FUCTdA
. - В значении атрибута src укажите
https://www.youtube.com/embed?listType=playlist&list=КОД_КАНАЛА
- Получаем что-то вроде
<iframe loading="lazy" class="video__last-video" width="350" height="250" title="Последний видосик на канале" allow="accelerometer; encrypted-media; gyroscope; picture-in-picture" allowfullscreen src="https://www.youtube.com/embed?listType=playlist&list=UUzS4sE_0ltfSz6qx_FUCTdA"></iframe>
В итоге у вас получится плейлист всех видео с канала, но показан будет именно последний. Я использую этот подход на своем портфолио.
Из минусов: невозможность использования lazy load методов по клику. Впрочем, если вам нужно только одно видео на странице, то это не самая большая проблема. Стоит указать нативный lazy, который не загрузит iframe, пока он не на экране.