Видео и субтитры · Загрузчик миниатюр YouTube и средство просмотра метаданных
Как oEmbed возвращает общедоступное название видео, канал и код для встраивания
· Как это работает
ютуб встроить метаданные
Существует стандартный способ без использования ключей запросить у видеосайта общедоступное название ссылки, автора и вставить HTML. В этом посте объясняется oEmbed, как выглядят запрос и ответ и как инструмент может отображать метаданные без очистки страницы.
Заголовок и канал без загрузки страницы — вопрос, на который был призван ответить oEmbed
Блогер может узнать текущее название и канал общедоступного видео, не загружая страницу просмотра. ToolAcre запрашивает у конечной точки oEmbed YouTube структурированную запись JSON только после того, как посетитель явным образом нажмет Fetch. Эта последовательность также предотвращает путаницу неудачного поиска метаданных с неверным URL, поскольку эти два этапа имеют разные доказательства.
Ссылка сначала анализируется в браузере. Эта предварительная проверка проверяет и извлекает идентификатор без доступа к сети, защищая неверный ввод как от хоста миниатюр, так и от конечной точки метаданных. Конечная точка предоставляет узкое публичное представление, а не универсальный канал данных или механизм авторизации.
Что такое oEmbed — небольшой стандарт, где сайт публикует конечную точку, которая отвечает на запрос «опишите это URL» с помощью JSON.
oEmbed — это соглашение о запросах и ответах для описания общедоступного объекта URL. Здесь YouTube предоставляет конечную точку, которая принимает видео URL и возвращает поля JSON, предназначенные для встраивания и атрибуции. Точный запрос полезен при трассировке сети, поскольку он показывает, какой канонический ресурс был запрошен, не раскрывая учетные данные учетной записи.
ToolAcre рассматривает эту конечную точку как потолок, а не как дверь для очистки. Он не проверяет страницу просмотра HTML, внутренние сервисы YouTubei, подписи или что-либо еще, чего не может достичь публичный запрос без выхода. Поле может присутствовать в необработанном виде JSON и при этом быть намеренно исключено из контракта приложения, поэтому нормализация — это решение продукта. Это предохраняет последующие примечания от зависимости от случайных добавлений вверх по течению.
Запрос — видео URL и параметр формата, не более того, отправлен на youtube.com.
Запрос отправляется на https://www.youtube.com/oembed с URL-адресом, установленным на каноническое значение https://www.youtube.com/watch?v=ID, и форматом, установленным на json. Ключ API, файл cookie для входа или токен учетной записи не добавляются. Пустой результат, следовательно, является граничным наблюдением, а не свидетельством того, что идентификатор недействителен или что необходимо повторить попытку защищенных данных.
Браузер отправляет анонимное сообщение GET с опущенными учетными данными, без реферера, без кэширования хранилища и последующими перенаправлениями. Google получает его и его заголовок Origin напрямую; ToolAcre не управляет ни сервером, ни прокси-сервером на этом пути. Это обеспечивает стабильность экспорта, когда восходящие полезные данные содержат дополнительные поля, которые инструмент не обещает сохранить.
Нормализованный ответ предоставляет поля метаданных, а не oEmbed HTML.
В схеме обещано отображать вставку HTML, ноnormalizeOembed намеренно оставляет это поле вне поля. Нормализованный объект содержит заголовок, канал, канал URL, миниатюру URL и размеры, ширину и высоту проигрывателя, поставщика и идентификатор видео. Отдельная классификация ошибок помогает пользователю решить, следует ли повторить попытку, проверить ответ или выбрать другой разрешенный источник.
Каждое значение защищено: отсутствующий текст получает простой запасной вариант, размеры должны быть положительными, а ссылки должны быть HTTPS. Это делает экспортируемый JSON предсказуемым, не подразумевая при этом, что каждое необработанное свойство oEmbed отображается. Запрос можно проверить в DevTools, но запись браузера не предполагает хранение с помощью ToolAcre или обработку только локально.
Почему не нужен ни ключ, ни логин — данные уже общедоступны на странице; oEmbed просто структурирует его
Никакого ключа не требуется, поскольку это общедоступные метаданные без подписи, но общедоступность не означает универсальность. Частные, удаленные видео и видео с возрастными ограничениями не предоставляют запись, а владелец, отключивший встраивание, может вызвать ответ авторизации. Поэтому издателю, рассматривающему неудавшийся запрос, следует проверить доступность встраивания и видимость видео, а не предполагать, что одиннадцатизначный идентификатор был проанализирован неправильно.
Граница отсутствия чёткая: просмотры, лайки, описание, теги, продолжительность, дата публикации и подписи не синтезируются. Конечная точка без ключа не предоставляет доступа к тому, что YouTube решил опубликовать. Если редакционной таблице нужны эти пропущенные поля, ее автор должен использовать другой разрешенный источник и пометить этот источник вместо представления пустых данных как данных oEmbed.
Рабочий пример: сопоставление oEmbed JSON с нормализованной записью ToolAcre.
Для одной успешной полезной нагрузки заголовок сопоставляется с заголовком, имя автора — с каналом, автор_url — с URL-адресом канала, поля миниатюр — с описанием вложенного изображения, а ширина и высота — с размерами проигрывателя. имя_провайдера становится поставщиком. Такое сопоставление дает экспортируемым стабильные имена приложений, даже несмотря на то, что в соглашении восходящего потока используется авторская терминология для канала YouTube.
Необработанный HTML может присутствовать в исходном потоке, но результат ToolAcre и экспорт не раскрывают его. Приложение отдельно создает собственный адаптивный iframe с повышенной конфиденциальностью на основе проверенного идентификатора, избегая случайного доверия к разметке конечной точки. Потребители получают факты, которые они могут цитировать или сериализовать, в то время как исполняемая разметка для встраивания остается за пределами нормализованного контракта метаданных.
Что сюда не входит — количество просмотров, описания, комментарии, подписи и все, что стоит за входом в систему.
Попытка метаданных может завершиться неудачей до получения ответа из-за автономного режима, блокировщиков или прокси-серверов; он может выйти из строя из-за статуса HTTP; или он может вернуть статус успеха с недопустимым JSON. Каждый маршрут получает отдельное сообщение. Ошибка транспорта предполагает проверку среды браузера, тогда как недопустимый JSON указывает на полученный ответ, но не удовлетворяющий обещанному формату конечной точки.
Проверка миниатюр независима и может обнаружить 404, другую ошибку, заполнитель 200 или недекодируемые данные. Ни одна из веток не загружает видео и не обходит ограничения на частный, удаленный контент или контент с возрастными ограничениями. Сохранение независимости ветвей позволяет редактору сохранять проверенный постер, даже если указание названия временно недоступно, не изобретая недостающие метаданные.
Структурированные общедоступные метаданные без отображения вставки конечной точки HTML
Результатом являются структурированные общедоступные метаданные, а не копия произвольного oEmbed HTML. ToolAcre может экспортировать нормализованные факты в виде JSON, Markdown, CSV или текста и может создавать известные ссылки на основе проверенного идентификатора. Выбор способа экспорта меняет представление, а не объем: каждый формат отражает один и тот же заголовок, канал, изображение, проигрыватель, поставщика и идентификационную запись.
После Fetch трафик состоит из прямых запросов изображений i.ytimg.com и одного канонического запроса oEmbed. В запросах не учитываются учетные данные и реферер, используются перенаправления без сохранения и последующие перенаправления, и они остаются видимыми для проверки на панели «Сеть» браузера. Этот след доказывает, что браузер напрямую связывался с Google; он не показывает ToolAcre, хранящий поиск, и не делает операцию локальной.