見返すかもしれないメモスマートフォン用の表示で見る見返すかもしれないメモ2019-10-05Spotifyプレイリストの変更履歴を記録するSpotifyのプレイリストを定期バックアップして、変更履歴をGitHubでコミット履歴として見れるようにしたかった。Spotifyプレイリストをエクスポートするスクリプトを既に公開してる人もいるけど、大抵認証時にポップアップが出てくるタイプで自動実行できなさそうだったので、自分で作った。追加したり移動したりしてる新しく知った曲は「New」っていうプレイリストに入れておいて、しばらく聴き続けてだいたい歌詞を覚えたら、覚えた曲用プレイリストに移動するという運用をしている。留学中にカラオケ行くことになったときに、やばい洋楽なんか何も知らんって焦って、とりあえず流行ってそうな曲を頭に詰め込むために始めた方法だったけど、それが妙に習慣化して今も続いている。いう管理方法なので、それぞれの曲をいつ頃知って、どれくらいの時間をかけて覚えたのかを記録するためにプレイリストのバックアップが必要になった。Spotifyには「プレイリストに変更があればwebhookで通知」みたいな機能はなさそう*1なので、1日1回のcronジョブで現在のプレイリスト一覧を取ってきて、前のデータとの差分を1個ずつコミットしている。APIにアクセスするには、クライアント登録をしてから認証が必要。tokenがもらえるという手順でできた。tokenも定期的にexpireしちゃうって意味なのか、別に新しいやつを使わなくてもいいのかについては、情報が見つからなかった。tokenも更新しないといけない場合もあるんかな...。Actionsを使った。[push]にしていた。そのワークフローから更にpushする処理があるので、無限ループになるのでは?ってちょっと心配だった。意外とそんなことはなくて、わざと止めてくれているらしい。Gitactions/checkoutっていうアクションが$GITHUB_WORKSPACEにリポジトリの中身を持ってきてくれる。HEAD状態になるので、現ブランチに行きたければ自分でcheckoutする必要がある。私の場合はmasterって決まってるからいいけど、そうじゃない人はブランチ名を$GITHUB_REFから頑張って取ってて大変そうだった。pushするのは、$GITHUB_ACTORとsecrets.GITHUB_TOKEN(自分でsecretsに入れなくても勝手に登録してくれるやつ)を使えばできた。曲名」とか全く統一性なく適当に書いてたけど、この機会にどれが一番無難か調べてみようと思った。有名どころのサイトに行って、曲ページの<title>を確認してみたら、タイトルとアーティスト名の順番や区切り文字について意外とバリエーションがあった。Titleが一番多そうなので、コミットメッセージに曲情報載せるときもそれに従った。これで、間違えて曲を削除しちゃって「今何消したっけ!!」ってなることもないので安心。(1)Searchはてなブログをはじめよう!YaaMaaさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。