たにみやんアーカイブ(新館)

音楽について何か話をするブログです

iOSのショートカットでSpotifyやApple Musicなどのリンクを変換して自分が使ってるストリーミングサービスで開く

Twitterをやっているとフォローしている皆さんがオススメの曲やアルバムのリンクを投稿してくれるので気になったらちょいちょいチェックして聴いてみる、というのは自分のみならず多くの人がやっていることなのではないかと思う。しかしながら自分はApple MusicユーザーなのでSpotifyのリンクが貼られていると一旦見た上でApple Music上で検索したりしなくてはいけないので結構手数を踏まねばならず、結果放置してしまうことも多く面倒に感じていた。なんとかならないものか調べていたら、Google Chrome拡張機能でこんなのを見つけた。

Twitter上の音楽ストリーミングサービスのリンクを相互変換(SpotifyApple Music・Amazon Musicに対応)するというサービス。そうそうこんなやつ!しかしPCでしかできないのでTwitter見るのはスマホが主、という自分的にはちょい惜しい感じ。するとこの拡張機能は、Songlink APIを使用しているとのこと。Songlinkとは、楽曲名や楽曲URLを使ってストリーミングサービス間で相互変換できる、というイケてるサービスだ。

もしかしてこのサービスのAPIを使えばスマホでも同じようなことができるのでは…?と思い、おそるおそるSonglink APIのドキュメントを見てみたが…

 ホント最低限のことしか書いてないな…wしかしながら知りたいことはわかった。SonglinkのAPIに音楽ストリーミングサービスのURLとユーザーの国情報をつければ他のサービスのリンクなどの情報が返ってくるということ。ひとまず例としてSpotifyのリクエスト例が紹介されているので、これをもとに進めていけばいいのだろう。しかし問題があり、自分はプログラムのことはある程度わかるけどコードを書くことができない。APIドキュメントも気が利いてる大手のものとかだったら言語別にサンプルが書いてあったりするもんだけどこれは個人開発ぽいのでそんなこともなく。GW使っていちから勉強するか…と思っていたところでiOSのショートカットを使うとちょいとしたプログラミング的なことはできるとのこと。

なるほどこれなら自分でもできそうだ…というわけでこれで進めていくことに。

1:API呼び出しURLを作成する

Songlink APIを使って日本の音楽ストリーミングサービスのURLを取得するには次のようなURLを呼び出してあげれば良い。

https://api.song.link/v1-alpha.1/links?url=<対象のURL>&userCountry=JP

対象のURLと書いてあるところに各ストリーミングサービスの共有用リンクを入力して呼び出しすれば良い。なお、アルバムかトラックのみ有効。アーティストやプレイリストは変換できないので注意。SpotifyのものだけでなくApple MusicやAmazon MusicなどのURLの入力にも対応している(残念ながらAWAやLINE MUSICなどの国内系サービスは対応していない)。

まず、Twitterの公式アプリではURLが「t.co」で始まる短縮URLにされているので処理する前にはそれを展開してあげる必要がある(短縮URLではないものは展開処理をスキップするので安心)。そして適当な名前をつけて変数登録して、上記の形式のURLに挟み込むようにする。それだけ。

f:id:tanimiyan:20210429223748j:image

2:API呼び出しした結果からApple Musicのリンクを取り出し

API呼び出しは「URLの内容を取得」でできる。そして、返ってきた内容から必要なデータを抽出するという寸法。例としてlyrical schoolの「Wonderland」でやってみた内容はリンク先の通りなんだけどJSON形式というネスト構造になっているテキストデータになっているので、この中から項目を取り出していく必要がある。JSONの処理は「辞書」項目で取り扱える。ここでは「辞書の値を取得」をすることになる。普通にプログラムで書く時のようにピンポイントに取得することはできないので、1項目ずつ地道に順番に取得していく必要がある。それを処理にするとこのようになる。

f:id:tanimiyan:20210429223802p:image

Apple MusicではなくAmazon MusicYoutube Music、あるいはSpotifyにしたいときは「appleMusic」のところを「amazonMusic」「youtubeMusic」「spotify」に変えてあげればいい。

最後に取得したURLを開く処理を入れてあげて完成(Apple Musicだけは最後の「url」の代わりに「nativeAppUriMobile」を取得するようにするとブラウザを挟まず開くようになスムーズに使える)。ショートカットの詳細メニューから「共有シートへ表示」を有効化すれば使えるようになる。

f:id:tanimiyan:20210429224004p:image

使うと初回だけWebサイトへのアクセスを確認するダイアログが出てくるのでOKを押してあげよう。

f:id:tanimiyan:20210429224044j:image

ほらひらけた!

f:id:tanimiyan:20210429224640g:image

これで音楽リスニングライフが豊かになりますね!やってみたら意外と簡単にできるので是非読んだ人には試してみてほしいです。でも試すのも面倒って人のために今回作ったショートカットを共有しました。先に「設定」から「ショートカット」のアプリ設定を開き「信頼されてないショートカットを許可」を有効にしてあげてください。

Apple Musicに変換
Spotifyに変換

iOSのショートカットって便利ね。意外と色々使えそうで、また試してみたくなりました。