FC2ブログ

YouTube Data API 基本仕様

YouTube Data API 基本仕様

ベースURLは
http://gdata.youtube.com/feeds/api/videos

リクエストパラメータは
vq
検索キーワード
ただし、URLエンコードが必要

maxresults
取得する動画の数を指定
初期値なら25
最大で50

orderby
検索結果の並び替えの指定
初期値は関連順で表示
具体的には
relevance
関連順

published
投稿が新しい順

viewCount
視聴回数の多い順

rating
評価の高い順


次にレスポンスフィールド
title
動画タイトル

content
動画内容の説明

media:player
属性 url で動画のURL

media:thumbnail
属性 url で動画のサムネイルのURL

詳しい解説は
リファレンス ガイド: Data API プロトコル
https://developers.google.com/youtube/reference?hl=ja#youtube_data_api_tag_media:title
に掲載されています

これらを参考にリクエストURLの組み立てをします

ベースURLは
http://gdata.youtube.com/feeds/api/videos
でも長いので、変数に格納
$baseurl ="http://gdata.youtube.com/feeds/api/videos";

キーワードは
vq=キーワード

取得する動画の数を20にするなら
max-results=20

視聴回数の多い順に並び替えということで
orderby=viewCount

これらのパラメータを組み合わせてみると
$baseurl?vq=検索キーワード&max-results=20&orderby=viewCount

というようになります

ただ、このYouTube Data API
については、いままで使ってきたAPIとは異なり
media:player というタグがあるので
これは
simplexml_load_file()
でパースすることができません

ちなみに、media:player のようなものを
名前空間プレフィックスといいます

これの対処方法は
children()を使うこと

media:player なら
children('media',TRUE)->player
というようにして対処します

これで、いつものように下層データを取得することができます

さすがに毎回これを書くのも面倒なので
これもベースURLみたいに変数に格納しておくと
楽になります

たとえば、動画URL取得なら
$video_url = esc_url( $video->children('media',TRUE)->group->children('media',TRUE)->player->attributes()->url );


途中に esc_url()
がありますが、これは
URLをサニタイズするための関数です

URLのサニタイズというのは
不正な形式を受け付けないようにすることで
サイトに害を与えるのを予防することで
htmlspecialchar()
とかとおなじようなものです

この関数のわかりやすい説明が
esc_urlとhome_url


リファレンス的なものだと
http://elearn.jp/wpman/function/esc_url.html
が参考になります
スポンサーサイト



テーマ : プログラミング
ジャンル : コンピュータ

コメント

非公開コメント

最新記事
検索フォーム
GREEハコニワ攻略サイト
リンク
カテゴリ
月別アーカイブ
フリーエリア
最新記事
FXプライムレート
最新コメント
最新トラックバック