Теперь, когда API v2 не стало, каков будет способ получить простой канал RSS канала без v3 API? Я открыт для Каналов Yahoo или любого обходного решения, которое более просто, чем создавание приложения для v3 API, если цель является программой чтения новостных лент. Мне только нужен канал RSS. Это было доступно публично до сих пор, и это может прекратиться в любой момент (я думаю). Итак, почему бы не позволять доступу к нему без ключа API больше.
В раздел RSS Reader https://support.google.com/youtube/answer/6098135? hl=en там является опцией экспортировать в файл OPML Ваши подписки. Затем при рассмотрении содержания OPML, можно извлечь подачу, и структура каждого канала:
https://www.youtube.com/feeds/videos.xml?channel_id=XXXX
, Таким образом, Вы могли генерировать новую подачу от этой структуры, если Вы знаете идентификатор канала. Этот вид подачи не добирается" https://youtube.com/devicesupport" ошибка, таким образом, я ожидаю, что они собираются продолжать работать.
Самый легкий способ получить идентификатор канала:
Открывают Subscription Manager (оставленный панель, вниз ниже подписок) и нажимают на требуемого пользователя.
URL будет в форме: https://www.youtube.com/channel/XXXXXXXXXXXXXXXXX
, Таким образом, URL канала должен быть:
https://www.youtube.com/feeds/videos.xml?channel_id=XXXXXXXXXXXXXXXXX
Примечание: Лучшие идентификаторы канала использования, а не имена пользователей, потому что имена пользователей могут измениться.
Я предложил бы использовать превосходный синтаксический анализатор RSS. Многие из них доступны, но можно попробовать http://simplepie.org/ , один из лучших, которые я использовал для своих персональных проектов.
Его вполне прилично зарегистрированный с некоторыми примерами.
пример Использования
юмор колледжа канала YouTube Note:Used, можно получить его от самой страницы канала
<?php
include_once('../autoloader.php');
// Parse it
$feed = new SimplePie();
$feed->set_feed_url('https://www.youtube.com/feeds/videos.xml?channel_id=UCPDXXXJj9nax0fr0Wfc048g');
$feed->enable_cache(false);
$feed->init();
$items = $feed->get_items();
foreach ($items as $item)
{
echo $item->get_title() . "\n";
}
var_dump($feed->get_item_quantity());
Я нашел расширение Chrome названным RSS-ify YouTube , который вводит значок RSS на видео, канале и страницах навигации. Это было, что я искал.
Значки похожи на это:
Я использовал ниже кода для интеграции Канала YouTube с Wordpress пользовательское поле "ACF plugin" & FancyBox
<?php
$channel_id = get_field('youtube_chanel_id'); //ACF text field
if ($channel_id){ // if channel_id not empty -- START
$youtube = file_get_contents('https://www.youtube.com/feeds/videos.xml?channel_id='.$channel_id);
$xml = simplexml_load_string($youtube, "SimpleXMLElement", LIBXML_NOCDATA);
$json = json_encode($xml);
$youtube = json_decode($json, true);
echo'<div class="col-md-12 youtube-videos-feed">';
foreach ($youtube['entry'] as $k => $v) {
$id = str_replace(array("yt:video:"), "", $v['id']); // Remove "yt:video:" from ID value
//$date = $v['updated']; // video updated date (disabled for now)
$title = $v['title']; // video title
echo '<a class="with-video" href="https://www.youtube.com/watch?v=',$id,'&autoplay=1&rel=0&controls=0&showinfo=0&modestbranding=0" data-fancybox="videos" data-caption="',$title,'" title="',$title,'" >
<div class="col-md-3 main-image post-image img-fancy">
<img src="https://img.youtube.com/vi/',$id,'/0.jpg" alt="',$title,'" >
</div>
</a>';
}
echo'</div>';
} // if channel_id not empty -- END
?>
Я думаю, что существуют некоторые изменения в ответе YouTube, таким образом, я вношу некоторые изменения для получения идентификатора канала от RSS ленты с помощью Завихрения.
$channel_id = 'XXXXXXXX'; // put the channel id here
//using curl
$url = 'https://www.youtube.com/feeds/videos.xml?channel_id='.$channel_id.'&orderby=published';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
//curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
$response = curl_exec($ch);
curl_close($ch);
$response=simplexml_load_string($response);
$json = json_encode($response);
$youtube= json_decode($json, true);
$count = 0;
if(isset($youtube['entry']['0']) && $youtube['entry']['0']!=array())
{
foreach ($youtube['entry'] as $k => $v) {
$yt_vids[$count]['id'] = str_replace('http://www.youtube.com/watch?v=', '', $v['link']['@attributes']['href']);
$yt_vids[$count]['title'] = $v['title'];
$count++;
}
}
else
{
$yt_vids[$count]['id']=str_replace('http://www.youtube.com/watch?v=', '', $youtube['entry']['link']['@attributes']['href']);
$yt_vids[$count]['title']=$youtube['title'];
}
echo "<pre>";
print_r($yt_vids);
Я сделал сценарий пакетной обработки, который создает канал RSS Ваших видео новой подписки. Вам не нужен ключ API. Сценарий использует 2 внешних инструмента: YouTube-DL и Xidel.
Так или иначе, считайте следующий поток и пойдите для регистрации 98 для загрузки сценария: http://code.google.com/p/gdata-issues/issues/detail?id=3946#c98
я надеюсь, что кто-то кодирует это к php, Python, JavaScript, powershell или удару.
От Моего Сообщения в блоге: http://tcodesblog.blogspot.com/search/label/howtofindyouryoutubechannelfeed
Первая находка Ваш идентификатор канала : можно сделать это путем движения в Канал YouTube в Панели инструментов
Копия идентификатор канала : Ваш идентификатор канала может быть найден при посещении Канала YouTube из Панели инструментов
Копия Ваш идентификатор канала : Скопируйте Ваш идентификатор канала и замените channelidgoeshere ниже с Вашим идентификатор канала : https://www.youtube.com/feeds/videos.xml?channel_id=channelidgoeshere
Копия Ваш весь Канал Канала YouTube и создают упрощенный канал: можно сделать это путем создания более короткой ссылки канала в FeedBurner в http://www.feedburner.com/
(Требует учетной записи Google. Свободный использовать.), который является также частью Google. Создайте новый канал (выбор , я - Подкастер! , чтобы посмотреть Ваши видео появляются в канале и сделать Ваш канал совместимым с другими программами чтения новостных лент, такими как: Читатель Digg, Приложение Apple iPhone Apple News, Приложение Подкастов Apple iPhone, Feedly, и т.д.) - ИЛИ редактируют существующий путем копирования всего Канала Канала YouTube и затем нажимают Save Feed Details как нормальный
Канал Канала YouTube теперь работает, и видео видны в файле канала непосредственно на канале FeedBurner. Мой в YouTube как канал в https://www.youtube.com/feeds/videos.xml?channel_id=UCvFR6YxwnYfLt_QqRFk_r3g
& в FeedBurner как http://feeds.feedburner.com/youtube/warrenwoodhouse
с моими видео, которые появляются только как текстовый формат как пример, так как я должен обновить мои для показа моих видео. Можно изменить различные настройки в FeedBurner и сделать другие вещи, таким образом, это стоит попытки, так как это свободно и просто в использовании. Я настоятельно рекомендую использованию FeedBurner или другую службу создания канала, однако, FeedBurner является Вашим лучшим выбором, так как это также включает сервисный механизм подписки перекрестного канала (USM - Универсальный Механизм Подписки), что означает, что Ваш канал может быть считан из любого совместимого устройства, такого как компьютер, мобильный телефон (с установленным соответствующим приложением), через более старый веб-браузер (такой как Internet Explorer, который поддерживает веб-Части & Подача RSS/Atom/XML).
Ваш канал может также быть открыт в Приложении Apple iPhone Apple News & Приложение Подкастов Apple iPhone на Вашем Apple iPhone, Apple iPod Touch и Apple iPad, если Вы установили настройки правильно на USM (Универсальный Механизм Подписки). После того как это в действительности, Ваш канал может быть просмотрен через различные сервисы и устройства.
Ваш канал на FeedBurner позволяет Вам создавать почтовую Подписку, Аниматор Заголовка (который показывает Вам как ссылка на последнее сообщение), наряду со сколько подписчиков, Миниатюрных клавиатур и другого интересного материала.
я надеюсь, что этот ответ оказывается полезным и если Вы хотите видеть некоторые более прохладные потрясающие методы кодирования мной, не стесняйтесь проверять мой веб-сайт T-кодов в http://warrenwoodhouse.webs.com/codes
для партий больше материала.
Я создал пример Каналы Yahoo здесь.
http://pipes.yahoo.com/pipes/pipe.info?_id=6eeff0110a81f2ab94e8472620770b11
можно выполнить этот канал путем нажатия "Run Pipe" без заполненного КЛЮЧА API. Но необходимо обеспечить собственный КЛЮЧ API и идентификатор канала (который может быть получен по каналам API) при клонировании. Требуемый для автоматизации выборки, направленной именем пользователя YouTube, но не легкий передать по каналу.
Там также существуют, ведьма Моста RSS может извлечь каналы RSS из большого количества сервисов как Твиттер, Google+, Flickr, YouTube, Identi.ca, и т.д.
источник: https://сервер демонстрации github.com/sebsauvage/rss-bridge
Я создал маленький Сценарий PHP, который очищает URL YouTube для видеосвязи и затем производит их как Atom-ленту: https://URL gist.github.com/Skalman/801436d9693ff03bc4ce
такой как https://работа www.youtube.com/user/scishow/videos.
Протесты:
Получите идентификатор канала путем поиска атрибута data-channel-external-id в исходном коде страницы канала YouTube. (благодаря helq).
Этот код захватит все видео заголовки и идентификаторы от канала и выведет его в массив:
$channel_id = 'XXX'; // put the channel id here
$youtube = file_get_contents('https://www.youtube.com/feeds/videos.xml?channel_id='.$channel_id);
$xml = simplexml_load_string($youtube, "SimpleXMLElement", LIBXML_NOCDATA);
$json = json_encode($xml);
$youtube = json_decode($json, true);
$yt_vids = array();
$count = 0;
foreach ($youtube['entry'] as $k => $v) {
$yt_vids[$count]['id'] = str_replace('http://www.youtube.com/watch?v=', '', $v['link']['@attributes']['href']);
$yt_vids[$count]['title'] = $v['title'];
$count++;
}
print_r($yt_vids);
При осмотре какой-либо страницы канала YouTube в <head>
Вы найдете метаузел RSS как это:
<link rel="alternate"
type="application/rss+xml" title="RSS"
href="https://www.youtube.com/feeds/videos.xml?channel_id=UCn8zNIfYAQNdrFRrr8oibKw">
Это должно предоставить Вам данные, в которых Вы нуждаетесь.
в YouTube нажмите на подписки, слева разделяют на области. Это откроет все Ваши подписки в центре страницы. Прокрутите вниз и Вы найдете Экспорт в кнопку RSS-ридера, которая производит XML-файл всех Ваших подписок. Я сделал это и добавил его к моему предпочтенному RSS-ридеру слабо.
Можно получить подачу как это:
https://www.youtube.com/feeds/videos.xml?channel_id=CHANNELID
https://www.youtube.com/feeds/videos.xml?user=USERNAME
https://www.youtube.com/feeds/videos.xml?playlist_id=YOUR_YOUTUBE_PLAYLIST_NUMBER
, Но формат JSON, который раньше поддерживался (с дополнительным параметром &alt=JSON
) больше не поддерживается.
Дополнительно можно запросить на ключ API для открытого доступа к видео YouTube от Вашего консоль разработчика и получить Видео YouTube, Плей-листы в формате JSON как это:
- Get Channels:
https://www.googleapis.com/youtube/v3/channels?part=snippet%2CcontentDetails&forUsername={YOUR_USER_NAME}&key={YOUR_API_KEY}
- Get Playlists:
https://www.googleapis.com/youtube/v3/playlists?part=snippet%2CcontentDetails&channelId={YOUR_CHANNEL_ID}&key={YOUR_API_KEY}
- Get Playlist Videos:
https://www.googleapis.com/youtube/v3/playlistItems?part=snippet%2CcontentDetails%2Cstatus&playlistId={YOUR_PLAYLIST_ID}&key={YOUR_API_KEY}
[еще 118] информация от документы . YouTube v3
попытайтесь использовать этот URL: https://www.youtube.com/feeds/videos.xml? user=USERNAME
Хорошо работает для меня.