В youtube Как получить идентификатор последнего загруженного видео (тот, который входит в URL-адрес, например v = ….) канала, на который я подписался, для встраивания
im использует php на моей стороне сервера
Вот пример использования RSS-каналов YouTube, simplexml_load_file
, parse_url
и parse_str
.
<?php $id = NULL; $username = 'YouTube'; $xml = simplexml_load_file(sprintf('http://gdata.youtube.com/feeds/base/users/%s/uploads?alt=rss&v=2&orderby=published', $username)); if ( ! empty($xml->channel->item[0]->link) ) { parse_str(parse_url($xml->channel->item[0]->link, PHP_URL_QUERY), $url_query); if ( ! empty($url_query['v']) ) $id = $url_query['v']; } echo $id; // Outputs the video ID.
По состоянию на 20 апреля 2015 года, похоже, что упомянутый выше ответ больше не может работать. Вот пример использования идентификатора канала YouTube (можно найти в источнике страницы канала).
<?php $id = NULL; $channel_id = 'someChannelID'; $xml = simplexml_load_file(sprintf('https://www.youtube.com/feeds/videos.xml?channel_id=%s', $channel_id)); if (!empty($xml->entry[0]->children('yt', true)->videoId[0])){ $id = $xml->entry[0]->children('yt', true)->videoId[0]; } echo $id; // Outputs the video ID.
Вот как это сделать через API YouTube после настройки ключа API.
<?php $channel_id = 'someChannelId'; $api_key = 'yourAPIKey'; $json_url="https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=".$channel_id."&key=".$api_key; $json = file_get_contents($json_url); $listFromYouTube=json_decode($json); $id = $listFromYouTube->items[0]->snippet->resourceId->videoId; echo $id; // Outputs the video ID.
Создание ключа API:
То же самое, что и у Грега Бренделя. YT внесла некоторые изменения: «Когда мы обновляем API данных YouTube для привлечения дополнительных функций, мы начнем закрывать старую версию 20 апреля 2015 года. Это приведет к тому, что текущее приложение YouTube не будет работать на некоторых моделях устройств с 2012 года и старше ».
https://support.google.com/youtube/answer/6098135?p=yt_devicesupport&hl=en&rd=1