動画サムネイルの表示とか iTunes アフィリエイト貼り付けとか JavaScript でやったメモ
ChordWiki に加えた機能をメモっとく。
YouTube とニコニコ動画のサムネイル画像を JSONP で表示
動画埋め込みを止めて外部リンクが文字だけだと寂しいので賑やかしにサムネイル画像だけ表示したい。API を使うのだが、自サーバの負担は増やしたくないので JSONP を使う。
YouTube は簡単に画像 URL を作る方法もあるみたいだけど、実際に使われている URL は違うので、律儀に API を呼ぶ。
<img id="ytthumbnail" class="thumbnail"/>
という空の img タグを置いといて
<script type="text/javascript" src="http://gdata.youtube.com/feeds/videos/(ビデオID)?alt=json-in-script&callback=ytthumbnail"></script>
で JSONP を呼び出す。
コールバック関数はこんな感じ。
function ytthumbnail(data){ document.getElementById("ytthumbnail").src=data.entry.media$group.media$thumbnail[0].url; document.getElementById("ytthumbnail").alt=data.entry.title.$t; document.getElementById("ytthumbnail").title=data.entry.title.$t; }
ニコニコ動画の場合は API が XML しか用意されていないので YQL を使う。
<img id="nicothumbnail" class="thumbnail"/>
<script type="text/javascript" src="http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20xml%20where%20url%3D%22http%3A%2F%2Fext.nicovideo.jp%2Fapi%2Fgetthumbinfo%2F(動画ID)%22&format=json&diagnostics=false&callback=nicothumbnail"></script>
function nicothumbnail(data){ document.getElementById("nicothumbnail").src=data.query.results.nicovideo_thumb_response.thumb.thumbnail_url; document.getElementById("nicothumbnail").alt=data.query.results.nicovideo_thumb_response.thumb.title; document.getElementById("nicothumbnail").title=data.query.results.nicovideo_thumb_response.thumb.title; }
iTunes Store へのアフィリエイトリンクを自動生成
Amazon アソシエイトの売上が既存サイトに比べて著しく悪いのでアフィリエイト先を増やしたい。リンクシェアが iTunes Store のアフィリエイトをやっているのだが、リンク生成するにはいちいちリンクシェアのサイトに行かないと作れない。そこで iTunes Store Web Service Search API (PDF) を使う。
404 Blog Not Found:Ajax - iTunes Store 検索
を参考にした。というかパクった。
コードは汚いままなので転記しないが、要点としてはここ。
var a = d.createElement('a'); a.href='http://click.linksynergy.com/fs-bin/click?id=(アフィリエイトID)&offerid=94348.1'+json['trackId']+'&type=2&subid=0';
これが正しいのか分からない。時々リンクが繋がってないようだ。パラメータの意味をもっと検証した方がいいかも。
Amazon のウィジェットに比べると検索が厳密なのでヒットしないことも多い。そして現在まで売上はゼロ。
例:Just Be Friends (Dixie Flatline feat.巡音ルカ) - ChordWiki : コード譜共有サイト