会社サボってITunesAPiをいじった話
技術ネタ。
会社サボって(38℃あって体怠い)久しぶりにプログラムしたよ!
5年前に作った「ITunEsTool」ってのがあってGoogle Image Search APIがサービス終了になったんでずっと放置してた。
tekitoumemo.hatenablog.com
画像取得系のAPIはほとんど規制かかって実装してもすぐボツりそうだなぁと思って一生放置しようと思ったらITunesAPiというものがあったので実装してみた。
https://itunes.apple.com/search?lang=ja_jp&entry=music&media=music&country=JP&term={検索キーワード}&limit=100
コード
// serchWordは検索キーワード // NugetにてRestSharpってのを使ってる var client = new RestClient(string.Format("https://itunes.apple.com/search?lang=ja_jp&entry=music&media=music&country=JP&term={0}", serchWord)); var request = new RestRequest(Method.GET); request.AddHeader("cache-control", "no-cache"); IRestResponse response = client.Execute(request);
レスポンスに「artworkUrl」ってのがあるんだけど100×100の画像で小さすぎるので以下で対処。
リクエスト
https://itunes.apple.com/search?lang=ja_jp&entry=music&media=music&country=JP&term=purpose&limit=1
レスポンス
{ "resultCount": 1, "results": [ { "artistId": 320569549, "artistName": "ジャスティン・ビーバー", "artistViewUrl": "https://itunes.apple.com/jp/artist/%E3%82%B8%E3%83%A3%E3%82%B9%E3%83%86%E3%82%A3%E3%83%B3-%E3%83%93%E3%83%BC%E3%83%90%E3%83%BC/id320569549?uo=4", "artworkUrl100": "http://is3.mzstatic.com/image/thumb/Music6/v4/ff/27/0e/ff270e68-6d4a-d0f9-29be-df64038f4255/source/100x100bb.jpg", "artworkUrl30": "http://is3.mzstatic.com/image/thumb/Music6/v4/ff/27/0e/ff270e68-6d4a-d0f9-29be-df64038f4255/source/30x30bb.jpg", "artworkUrl60": "http://is3.mzstatic.com/image/thumb/Music6/v4/ff/27/0e/ff270e68-6d4a-d0f9-29be-df64038f4255/source/60x60bb.jpg", "collectionCensoredName": "Purpose", "collectionExplicitness": "notExplicit", "collectionId": 1049381490, "collectionName": "Purpose", "collectionPrice": 1200.0, "collectionViewUrl": "https://itunes.apple.com/jp/album/purpose/id1049381490?i=1049382087&uo=4", "country": "JPN", "currency": "JPY", "discCount": 1, "discNumber": 1, "isStreamable": true, "kind": "song", "previewUrl": "https://audio-ssl.itunes.apple.com/apple-assets-us-std-000001/AudioPreview122/v4/75/86/68/75866889-34af-0608-33f0-7b66c1975d79/mzaf_790555538368794394.plus.aac.p.m4a", "primaryGenreName": "ポップ", "releaseDate": "2015-11-13T08:00:00Z", "trackCensoredName": "Purpose", "trackCount": 21, "trackExplicitness": "notExplicit", "trackId": 1049382087, "trackName": "Purpose", "trackNumber": 13, "trackPrice": 250.0, "trackTimeMillis": 210151, "trackViewUrl": "https://itunes.apple.com/jp/album/purpose/id1049381490?i=1049382087&uo=4", "wrapperType": "track" } ] }
http://is3.mzstatic.com/image/thumb/Music6/v4/ff/27/0e/ff270e68-6d4a-d0f9-29be-df64038f4255/source/100x100bb.jpg ↓ http://is3.mzstatic.com/image/thumb/Music6/v4/ff/27/0e/ff270e68-6d4a-d0f9-29be-df64038f4255/source/500x500bb.jpg
あんま調べてないけど1500×1500までなら取得できそう。
そんなこんなでサイト復活。サイトの掲載依頼と昔載せてくれた雑誌に営業メールして終了(意外に返信率が高くてびっくり)。実績的なの送ったら以外にいい感じだったわ。
■ダウンロード数
5000ダウンロード
■掲載サイト:
・Vector
・窓の杜
・フリーソフト100
・オールフリーソフト
・フリーソフトナヴィ
■掲載雑誌
・Mr.PC
・iP!(アイピー)
こんなんやってっから風邪が治らんのだな。。
まぁ、ソースコードとかクソ過ぎて見てもいられなかったけど久しぶりにやるのはいいと思いました。