youtubeAPI データー取得時の問題
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));
のようにすれば良い。
Yahoo PipesでUserIDを隠す JSONP&Javascript
JSONPデータ配布と、UserID守秘義務って矛盾してない?
Amazonのxsltキャッシュがうざい件とその対処法
Amazon Product Advertising API 電子署名とXSLTのまとめ
Googleカスタマイズ検索を利用した、「売り上げランキング検索」
youtubeAPIの規約
youtubeAPI データー取得時の問題
Twitterブログパーツが重い 対策用独自プログラム
ブログにグーグルマップを貼り付ける方法
楽天APIのand検索に注意
楽天APIとAMAZON Web Service(AWS)のマッシュアップは可能か?
楽天APIベータ版公開
楽天もWeb2.0へ
価格コムAPIを公開
楽天市場 非公開API公開




静岡地元ネタは
