web2.0的ラボTopプログラムウェブサービス
youtubeAPI データー取得時の問題

Posted at 08/03/05 Comment(0)» Trackback(0)» プログラム»

powerd by 楽市アド360

youtubeダウンロード(仮)で、初めてyoutube APIを利用した。

幾つか苦労した部分があったのでメモ。

【jsonデーター取得】
jsonでデータを取得すると、パラメーター名になぜか「$」が入る。
例:「xmlns$openSearch」

同じデーターをrssで取得すると、同部分はコロン「xmlns:openSearch」になっている。
jsonだと$になる理由は分からない。

このまま、$data->xmlns$openSearchのように、データーを引っ張ろうとしても、当然エラーが出てしまう。

そこで、データー取得時に、$を消去することにした。
str_replaceを使って、APIから取り込んだデーターをそのまま変換。

$youtubeapi_data = json_decode(str_replace('$', '', file_get_contents('http://gdata.youtube.com/feeds/api/videos?format=……')))

【xmlデーター取得】

xmlデーターをsimplexml_load_fileなどでパースしようとしても、一部取り込めない箇所ができてしまった。どうやらmedia:categoryなど、「:(コロン)」がついたパラメーターはsimplexmlで取得できないらしい。

そこで、一度ファイルを取り込んで、str_replaceで「:(コロン)」を「_(アンダーバー)」などに変換しておけばよい。

ただし、「:(コロン)」はURLアドレス「http://〜」にも使われているため、必要な部分だけ変換するようにする。

たとえば、「<media:category>〜」など、media:のついたデーターを取得したい場合は、

$query = 'http://gdata.youtube.com/feeds/api/videos/' . $videoId;
$string = str_replace('media:','media_',file_get_contents($query));

のようにすれば良い。




  RSS2.0  Atom 
RSSリーダーに登録すれば、更新がすぐにわかります。

"youtubeAPI データー取得時の問題"へのトラックバック
トラックバック先URL

※当サイトへのトラックバックは、当サイト内ページへのリンクがないと、受け付けない仕様になっています
"youtubeAPI データー取得時の問題"へコメントを投稿
次のようなコメントは、基本的に掲載しかねますので、ご了承ください。

・「応援してます!応援ポチ☆」のような、返答しようがないコメント。私は「応援ポチ」という言葉が嫌いです。「応援ポチ」もしくはそれに順じた言葉が書き込まれたコメントは無視させて頂きます。
・当記事と全く関係ない話題、サイトの売り込みなど。宣伝色を少しでも感じたものは削除します。
・相互リンク依頼のコメント(専用ページから申し込みください)
ブログバーツに関する質問掲示板に書き込んでください)
・その他、管理人が不適切だと感じたコメント

上の情報を保存する場合はチェック

about me


今からリンクシェア見本市に出かけます。 9hours ago

かん吉2.0
ウェブサイト作成・運営を生業としています
技術ネタを粛々と紹介してます

公開しているサービス

※日常のネタは親ブログのわかったブログ
運営ブログの新着記事を全て読めます

フィード
my bookstand
powerd by Amazon360
関連サイト: アフィリエイトゴールMovabletypeマニュアル?