YouTube URL を使用する必要があります。たとえば 、Windows Phone 7 アプリケーションでhttp://www.youtube.com/user/nokia/feedとします。フィードの URL をダウンロードして、それに応じて一覧表示したいと考えています。スターターを手伝ってくれる人はいますか?
1 に答える
Google には、Windows Phone デバイスからこのタスクを簡単に実行できるYouTube 用の APIがあります。Google のサイトによると:
Google データ API について
Data API を使用すると、YouTube Web サイトで利用できる多くの操作をプログラムで実行できます。動画の検索、標準フィードの取得、関連コンテンツの表示が可能です。プログラムは、ビデオのアップロード、ユーザーのプレイリストの変更などを行うユーザーとして認証することもできます。
Data API は、主にサーバー側言語でプログラミングする開発者向けです。これは、ビデオをキャプチャし、ユーザーがそのビデオを YouTube に直接アップロードできるようにするアプリなど、YouTube との緊密な統合が必要なサイトまたはアプリケーションに役立ちます。Data API を使用すると、YouTube の動画とユーザー情報にプログラムでアクセスできるため、ユーザーの既存の情報を使用してアプリケーションをパーソナライズし、ユーザーに代わって動画の評価やコメントなどのアクションを実行できます。
開発者ガイドでは、Data API が XML と HTTP を使用して基本レベルでどのように機能するかを説明しています。このガイドでは、YouTube API サーバーが予期して返すリクエストとレスポンスについて詳しく説明します。リファレンス ガイドでは、これらの要求と応答の構造について詳しく説明しています。リファレンス ガイドでは、API のフィード タイプ、HTTP 要求パラメーター、HTTP 応答コード、および XML 要素が定義されています。また、Data API が構築されている標準である Google Data Protocol と Atom Publishing Protocol についてもお読みください。
API の操作を簡単にするために、API を言語固有のオブジェクト モデルに抽象化するクライアント ライブラリが多数用意されています。これらのクライアント ライブラリはオープン ソースであり、Apache License 2.0 の下で使用および変更できます。Java、.NET、PHP、およびPythonの開発者ガイドとサンプル コードがあります。
このページを探索するYouTube API v2.0 - フィードとエントリの理解には次のように記載されています。
ビデオ フィードまたは検索結果のリストを取得すると、YouTube は、結果セット内のビデオごとに 1 つのタグを含む Atom フィードを返します。応答のルート XML タグがタグになります。結果セット内の個々の動画に関する情報に加えて、フィードには、リスト内の結果の総数、リスト内の最初の項目のインデックス、リスト内の項目数、および動画に関するその他のメタデータも含まれます。餌。
次の XML は、動画フィードを含む YouTube Data API レスポンスの形式を示しています。
<?xml version='1.0' encoding='UTF-8'?>
<feed xmlns='http://www.w3.org/2005/Atom'
xmlns:openSearch='http://a9.com/-/spec/opensearch/1.1/'
xmlns:gml='http://www.opengis.net/gml'
xmlns:georss='http://www.georss.org/georss'
xmlns:media='http://search.yahoo.com/mrss/'
xmlns:batch='http://schemas.google.com/gdata/batch'
xmlns:yt='http://gdata.youtube.com/schemas/2007'
xmlns:gd='http://schemas.google.com/g/2005'
gd:etag='W/"CE4EQH47eCp7ImA9WxRQGEQ."'>
<id>tag:youtube,2008:standardfeed:us:top_rated</id>
<updated>2008-07-18T05:00:49.000-07:00</updated>
<category scheme='http://schemas.google.com/g/2005#kind'
term='http://gdata.youtube.com/schemas/2007#video'/>
<title>Top Rated</title>
<logo>http://www.youtube.com/img/pic_youtubelogo_123x63.gif</logo>
<link rel='alternate' type='text/html'
href='https://www.youtube.com/browse?s=tr'/>
<link rel='http://schemas.google.com/g/2005#feed'
type='application/atom+xml'
href='https://gdata.youtube.com/feeds/api/standardfeeds/top_rated?v=2'/>
<link rel='http://schemas.google.com/g/2005#batch'
type='application/atom+xml'
href='https://gdata.youtube.com/feeds/api/standardfeeds/top_rated/batch?v=2'/>
<link rel='self' type='application/atom+xml'
href='https://gdata.youtube.com/feeds/api/standardfeeds/top_rated?...'/>
<link rel='service' type='application/atomsvc+xml'
href='https://gdata.youtube.com/feeds/api/standardfeeds/top_rated?...'/>
<link rel='next' type='application/atom+xml'
href='https://gdata.youtube.com/feeds/api/standardfeeds/top_rated?...'/>
<author>
<name>YouTube</name>
<uri>http://www.youtube.com/</uri>
</author>
<generator version='2.0'
uri='http://gdata.youtube.com/'>YouTube data API</generator>
<openSearch:totalResults>100</openSearch:totalResults>
<openSearch:startIndex>1</openSearch:startIndex>
<openSearch:itemsPerPage>25</openSearch:itemsPerPage>
<entry gd:etag='W/"C0AMRn47eCp7ImA9WxRQGUw."'>
<id>tag:youtube,2008:video:ZTUVgYoeN_b</id>
<published>2008-07-05T19:56:35.000-07:00</published>
<updated>2008-07-18T07:21:59.000-07:00</updated>
<category scheme='http://schemas.google.com/g/2005#kind'
term='http://gdata.youtube.com/schemas/2007#video'/>
<category scheme='http://gdata.youtube.com/schemas/2007/keywords.cat'
term='Shopping'/>
<category scheme='http://gdata.youtube.com/schemas/2007/keywords.cat'
term='parkas'/>
<category scheme='http://gdata.youtube.com/schemas/2007/categories.cat'
term='People' label='People'/>
<title>Shopping for Coats</title>
<content type='application/x-shockwave-flash'
src='http://www.youtube.com/v/ZTUVgYoeN_b?f=gdata_standard...'/>
<link rel='alternate' type='text/html'
href='https://www.youtube.com/watch?v=ZTUVgYoeN_b'/>
<link rel='http://gdata.youtube.com/schemas/2007#video.responses'
type='application/atom+xml'
href='https://gdata.youtube.com/feeds/api/videos/ZTUVgYoeN_b/responses?v=2'/>
<link rel='http://gdata.youtube.com/schemas/2007#video.ratings'
type='application/atom+xml'
href='https://gdata.youtube.com/feeds/api/videos/ZTUVgYoeN_b/ratings?v=2'/>
<link rel='http://gdata.youtube.com/schemas/2007#video.complaints'
type='application/atom+xml'
href='https://gdata.youtube.com/feeds/api/videos/ZTUVgYoeN_b/complaints?v=2'/>
<link rel='http://gdata.youtube.com/schemas/2007#video.related'
type='application/atom+xml'
href='https://gdata.youtube.com/feeds/api/videos/ZTUVgYoeN_b/related?v=2'/>
<link rel='http://gdata.youtube.com/schemas/2007#mobile'
type='text/html' href='https://m.youtube.com/details?v=ZTUVgYoeN_b'/>
<link rel='http://gdata.youtube.com/schemas/2007#uploader'
type='application/atom+xml' href='http://gdata.youtube.com/feeds/api/users/_x5XG1OV2P6uZZ5FSM9Ttw?v=2'/>
<link rel='self' type='application/atom+xml'
href='https://gdata.youtube.com/feeds/api/standardfeeds/top_rated/v/ZTUVgYoeN_b?v=2'/>
<author>
<name>GoogleDevelopers</name>
<uri>https://gdata.youtube.com/feeds/api/users/GoogleDevelopers</uri>
<yt:userId>_x5XG1OV2P6uZZ5FSM9Ttw<</yt:userId>
</author>
<yt:accessControl action='comment' permission='allowed'/>
<yt:accessControl action='commentVote' permission='allowed'/>
<yt:accessControl action='videoRespond' permission='moderated'/>
<yt:accessControl action='rate' permission='allowed'/>
<yt:accessControl action='embed' permission='allowed'/>
<yt:accessControl action='list' permission='allowed'/>
<yt:accessControl action='autoPlay' permission='allowed'/>
<yt:accessControl action='syndicate' permission='allowed'/>
<gd:comments>
<gd:feedLink href='https://gdata.youtube.com/feeds/api/videos/ZTUVgYoeN_b/comments'
countHint='9416'/>
</gd:comments>
<georss:where>
<gml:Point>
<gml:pos>21.37124437061831 -157.87353515625</gml:pos>
</gml:Point>
</georss:where>
<yt:hd/>
<media:group>
<media:category label='People'
scheme='http://gdata.youtube.com/schemas/2007/categories.cat'>People
</media:category>
<media:content
url='http://www.youtube.com/v/ZTUVgYoeN_b?f=gdata_standard...'
type='application/x-shockwave-flash' medium='video'
isDefault='true' expression='full' duration='215' yt:format='5'/>
<media:content
url='rtsp://rtsp2.youtube.com/ChoLENy73bIAEQ1kgGDA==/0/0/0/video.3gp'
type='video/3gpp' medium='video'
expression='full' duration='215' yt:format='1'/>
<media:content
url='rtsp://rtsp2.youtube.com/ChoLENy73bIDRQ1kgGDA==/0/0/0/video.3gp'
type='video/3gpp' medium='video'
expression='full' duration='215' yt:format='6'/>
<media:credit role='uploader' scheme='urn:youtube'
yt:display='GoogleDevelopers'>GoogleDevelopers</media:credit>
<media:description type='plain'>
What could make for more exciting video?
</media:description>
<media:keywords>Shopping, parkas</media:keywords>
<media:license type='text/html' href='http://www.youtube.com/t/terms'>youtube</media:license>
<media:player url='https://www.youtube.com/watch?v=ZTUVgYoeN_b'/>
<media:thumbnail url='http://img.youtube.com/vi/ZTUVgYoeN_b/2.jpg'
height='90' width='120' time='00:00:03.500'/>
<media:thumbnail url='http://img.youtube.com/vi/ZTUVgYoeN_b/1.jpg'
height='90' width='120' time='00:00:01.750'/>
<media:thumbnail url='http://img.youtube.com/vi/ZTUVgYoeN_b/3.jpg'
height='90' width='120' time='00:00:05.250'/>
<media:thumbnail url='http://img.youtube.com/vi/ZTUVgYoeN_b/0.jpg'
height='360' width='480' time='00:00:03.500'/>
<media:title type='plain'>Shopping for Coats</media:title>
<yt:aspectRatio>widescreen</yt:aspectRatio>
<yt:duration seconds='79'/>
<yt:uploaded>2008-07-05T19:56:35.000-07:00</yt:uploaded>
<yt:uploaderId>UC_x5XG1OV2P6uZZ5FSM9Ttw</yt:uploaderId>
<yt:videoid>ZTUVgYoeN_b</yt:videoid>
</media:group>
<gd:rating min='1' max='5' numRaters='14763' average='4.93'/>
<yt:recorded>2008-07-04</yt:recorded>
<yt:statistics viewCount='383290' favoriteCount='7022'/>
<yt:rating numDislikes='19257' numLikes='106000'/>
</entry>
</feed>
別の方法として、これはHTML Agility Packを使用して DOM を解析することで実現できますが、崖から飛び降りて DOM 解析に飛び込んだり、これを Google YouTube API と組み合わせて使用したりする前に、上記のソリューションを検討する必要があります。
出典:グーグル