2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

なんかかくAdvent Calendar 2024

Day 22

Logic Apps で今年の私のトップ アーティストを Spotify から取得する

Posted at

今年を振り返る「なんかかく」アドベントカレンダー 22 日目です。もう日付は残り少ないので Logic Apps の話をします。Logic Apps にも、私も大好き Spotify のコネクタがあります。

Spotify for Developers

お仕事で使うことはほぼ無いのですが、こちらが API。

Spotify コネクタ

コネクタがこれ。

ちょっと楽しそうなアクションが使えそうです。

image.png

と言うことでいつものアカウントでサインインしました。

image.png

簡単に接続できました。

image.png

なんと、いとも簡単に実行できました。今年の私のお気に入りを振り返ることができます。

image.png

私のトップ アーティストを配列化した図:

image.png

しかし

何故でしょう。何故なんでしょうね。一回うまく行ったのに怪しい雲行きです。

image.png

403 出るよね。おーい山田君、これは報告だ…

image.png

代替案として API

このままこの記事を終わらせては誰も納得しないので、代替案として API を HTTP アクションで叩く策を探ることにしました。

API にいくつか種類がある

Client ID と Secret を取得することは簡単です。

しかしこれだけでは肝心の User データにアクセスすることはできません。Spotify のドキュメントをよく読もう。

Authorization Flow

ユーザーのリソースにアクセスするにはこの辺を使わねばならないということなんですね。
image.png

Authorization Code flow

image.png

端的にはこの VSCode の拡張で簡単に立てられるサーバー Live Server を用い 127.0.0.1:5500 を立てました。Redirect URL への登録を忘れずに。

image.png

その上で以下 URL を GET すると同意を促す画面へリダイレクトしてくれます。

https://accounts.spotify.com/authorize?response_type=token&redirect_uri=http://127.0.0.1:5500&client_id=<clientid>

https://accounts.spotify.com/authorize?response_type=token&redirect_uri=http://127.0.0.1:5500&client_id=<clientid>&scope=user-library-read&show_dialog=true

image.png

上に同意することでようやく、ユーザー情報にアクセスできる Access Token ゲットです。
下の URL がアクセス トークン。

image.png

HTTP コネクタで仕切り直し

ということで、Logic Apps でも HTTP コネクタを用いることで仕切り直ししましょう。

image.png

成功。

image.png

まとめ

そんなこんなで、Logic Apps や Power Automate のコネクタを眺めていると遊べるが、プレビューのコネクタはたまにこういうご愛敬もあるので、優しい気持ちでプロダクトを育てていきたいねという話でした。

以上です~!

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?