Как использовать API YouTube для проверки возможности встраивания видео? - PullRequest
7 голосов
/ 10 октября 2010

Кто-нибудь знает, как проверить, можно ли встраивать видео с YouTube с помощью API YouTube?Я пытался использовать этот URL:

http://gdata.youtube.com/feeds/api/videos/47z7i79NuK8

, но полученный ответ, вставленный ниже, не имеет поля для встраиваемости?

Ответы [ 5 ]

8 голосов
/ 15 октября 2010

Глядя на ссылку на API YouTube , кажется, что у вас есть пара вариантов:

Укажите параметр "FORMAT" при поиске клипа:

Параметр format указывает, что видео должны быть доступны в определенном видеоформате.В вашем запросе можно указать любой из следующих форматов:

5 - URL-адрес HTTP для встраиваемого проигрывателя (SWF) для этого видео.Этот формат недоступен для видео, которое нельзя встраивать.Разработчики обычно добавляют & format = 5 к своим запросам, чтобы ограничить результаты видео, которые можно встраивать на их сайты.

Или ссылаться на элемент yt: accessControl:

The *Тег 1018 * указывает, разрешено ли пользователям оценивать видео, добавлять комментарии к видео, оценивать комментарии к видео, добавлять видеоответ на видео или вставлять видео на сторонние веб-сайты.Другой параметр указывает, может ли YouTube показывать видео в свойствах YouTube, отличных от веб-сайта YouTube.com.

Синтаксис будет выглядеть примерно так: <yt:accessControl action='embed' permission='allowed'/>

Так что в вашем примере это выглядит такстрока yt:format: "5" говорит о том, что клип может быть встроен.

7 голосов
/ 30 января 2015

Что касается API YouTube V3, в статусной части есть поле embeddable.

Например: https://www.googleapis.com/youtube/v3/videos?id=6CQEZ_kas0I&key=[yourkey]&part=snippet,contentDetails,status

"status": {
    "uploadStatus": "processed",
    "privacyStatus": "public",
    "license": "youtube",
    "embeddable": true,
    "publicStatsViewable": true
}
6 голосов
/ 15 июня 2015

В API YouTube V3, чтобы возвращать только видео, которые можно встраивать, добавьте параметр videoEmbeddable=true.Вы также должны использовать type=video, чтобы это работало.

2 голосов
/ 15 октября 2010

Если вы сможете использовать новый безобъектный способ показа видео, вы увидите, что почти каждое видео, которое нельзя просмотреть с помощью тега объекта, теперь работает безупречно.

Синтаксис:

Вы не можете доверять yt: accessControl в настоящее время.

1 голос
/ 12 октября 2010

XML должен включать <yt:noembed/>, если видео не встраиваемо. Пример .

...