Хотя вы можете использовать клиентскую библиотеку .NET для YouTube , я обнаружил, что .NET API отстает от происходящих разработок (например, я не уверен, что вы можете даже получить информация типа «нравится / не нравится» от API) в самом протоколе.
Вместо этого я бы рекомендовал использовать Протокол данных API , он использует HTTP и XML (в формате ATOM ), которые .NET имеют классы, которые можно легко использовать / анализировать , Документация также очень полная, и составление ваших запросов будет довольно простым.
В вашем примере URL для вашего запроса будет:
http://gdata.youtube.com/feeds/api/videos?v=2&orderby=viewCount&safeSearch=none&q=puppy
Который впоследствии вернет XML-документ, структурированный так (хотя данные могут отличаться, так как я предполагаю, что новые видео щенков загружаются все время):
<?xml version='1.0' encoding='UTF-8'?>
<feed xmlns='http://www.w3.org/2005/Atom'
xmlns:app='http://www.w3.org/2007/app'
xmlns:media='http://search.yahoo.com/mrss/'
xmlns:openSearch='http://a9.com/-/spec/opensearch/1.1/'
xmlns:gd='http://schemas.google.com/g/2005'
xmlns:gml='http://www.opengis.net/gml'
xmlns:yt='http://gdata.youtube.com/schemas/2007'
xmlns:georss='http://www.georss.org/georss'
gd:etag='W/"C0cBR38zfCp7I2A9WhdUEU4."'>
<id>tag:youtube.com,2008:videos</id>
<updated>2011-09-27T13:44:16.184Z</updated>
<category scheme='http://schemas.google.com/g/2005#kind'
term='http://gdata.youtube.com/schemas/2007#video'/>
<title>YouTube Videos matching query: puppy</title>
<logo>http://www.youtube.com/img/pic_youtubelogo_123x63.gif</logo>
<link rel='alternate' type='text/html' href='http://www.youtube.com'/>
...
<entry gd:etag='W/"CEINR347eCp7I2A9WhdUEEQ."'>
<id>tag:youtube.com,2008:video:vkeETehk8C8</id>
<published>2007-05-21T02:02:00.000Z</published>
<updated>2011-09-27T03:03:16.000Z</updated>
<category scheme='http://schemas.google.com/g/2005#kind'
term='http://gdata.youtube.com/schemas/2007#video'/>
...
Вы также можете получить XML и поместить его в клиентские структуры YouTube .NET для легкого доступа (хотя это не так просто, это возможно), если вы хотите извлечь выгоду из уже существующих объектных моделей, но перейти к XML для получения значений, которые API не предоставляет.