tekitoumemo’s diary

思ったことを書くだけ。長文版Twitter

会社サボってITunesAPiをいじった話

技術ネタ。


会社サボって(38℃あって体怠い)久しぶりにプログラムしたよ!
5年前に作った「ITunEsTool」ってのがあってGoogle Image Search APIがサービス終了になったんでずっと放置してた。






ITunEsTooL - あなたのiTunesを快適に

tekitoumemo.hatenablog.com
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.jpghttp://is3.mzstatic.com/image/thumb/Music6/v4/ff/27/0e/ff270e68-6d4a-d0f9-29be-df64038f4255/source/500x500bb.jpg

取得できる画像はこんな感じ(「Purpose」は神)
http://is3.mzstatic.com/image/thumb/Music6/v4/ff/27/0e/ff270e68-6d4a-d0f9-29be-df64038f4255/source/1000x1000bb.jpg


あんま調べてないけど1500×1500までなら取得できそう。

そんなこんなでサイト復活。サイトの掲載依頼と昔載せてくれた雑誌に営業メールして終了(意外に返信率が高くてびっくり)。実績的なの送ったら以外にいい感じだったわ。

■ダウンロード数
5000ダウンロード
■掲載サイト:
Vector
窓の杜
フリーソフト100
・オールフリーソフト
フリーソフトナヴィ
■掲載雑誌
・Mr.PC
・iP!(アイピー)

こんなんやってっから風邪が治らんのだな。。
まぁ、ソースコードとかクソ過ぎて見てもいられなかったけど久しぶりにやるのはいいと思いました。