見出し画像

大人の自由研究(2018)〜再びSpotify Web APIを叩く(其の2)

ついにファイルを開くことができました。そして、中身の整理があまりにもされて無さ過ぎには呆れながら、一つ一つを整理しながらまとめようと思います。(noteに書いてまとめることがとても良いアウトプットになりますね!!)

再度、処理の流れを確認しましょう。

1.Spotifyのデベロッパーにログイン時、「Client ID」と「Client Secret」を確認します。
2.「Client ID:Client Secret」をBase64でエンコードし、認証用のEndpointに投げます。
3.エンコードされたIDとパスワードが正しく処理されるとAccess Tokenに返ってきます。
4.Access Tokenを使って新着アルバムを検索するEndpointを叩きます。
5.検索結果を変数にして、必要情報をレコードとして保存する

この中でもっともハマったのは、「2」の処理でBase64の処理です。

FileMaker関数である「Base64Encode」で認証をしても全く通りませんでした。認証が通らないと何もできないのと、去年と同じ方法では、サーバーサイドで自動実行ができないためです。

ファイルのスクリプトを見ると、Base64Encodeではなく、Base64EncodeRFCを用いています。そして、「4648」を指定して処理をしています。まとめる前に動作確認したところ、問題なく取得できましたので、この処理で良いようです。

認証が通らない   :    Base64Encode ( "ClientID:Client Secret" )


認証が通った    :    Base64EncodeRFC ( 4648;"ClientID:Client Secret" )

アプリ登録から認証周りまで、下記の記事がとても詳しく書いてあるので、是非ご一読を。

このページに記載のあるcURLをFileMaker上で同じ記述になるようにし、実行します。実際はターミナルで動作検証後に、FileMakerでの処理に置き換えています。

curl -X "POST" -H "Authorization: Basic Base64でエンコードした文字列"
-d grant_type=client_credentials https://accounts.spotify.com/api/token

ついにAccess Tokenの取得できました。返ってきたJSONからAccess Tokenを取得し、新着アルバムのEndpointに認証されたトークンとして投げれば、アルバムの新着データが表示されることになります。

画像1

認証が通ったので、次回はアルバムのEndpointに投げた結果の処理方法について説明をしたと思います。

よろしければサポートをお願いします。頂いたサポートはAPIの周り調査や実験に使わせて頂きます。スピーカーの作成や、ホロスコープの依頼もあれば、メッセージをください。