Skip to main content

Spotify

ShanoneのSpotify連携は、再生操作、プレイリスト管理、保存済みライブラリ、アーティスト/アルバム/番組/オーディオブックのメタデータをカバーする57個のツールをエージェントに提供します——エージェントにDJをさせたり、キュレーションしたり、「最近何を聴いていた?」に答えさせたりできます。

はじめに

Spotifyは、自分で作成したSpotifyアプリのClient IDを使って接続します。アプリ所有者のSpotifyアカウントには、有効なPremium契約が必要です。Client Secretは不要です。
1

ShanoneでリダイレクトURLをコピーする

Shanoneダッシュボードの連携 → Spotifyを開き、接続パネルに表示されるリダイレクトURLをコピーします。接続するShanone環境に表示されているURLを使ってください。
2

自分のSpotifyアプリを設定する

Spotify Developer Dashboardを開き、自分のアプリを作成するか、既存のアプリを開きます。Settingsで、ShanoneからコピーしたURLをRedirect URIsに追加し、保存してください。パスや末尾のスラッシュを含め、URLを完全に一致させる必要があります。
3

接続するSpotifyアカウントを追加する

アプリのUsers Managementに、Shanoneと接続するSpotifyアカウントを追加します。接続を承認する際も、このアカウントを使用してください。
4

Client IDを入力して接続する

SpotifyアプリのSettingsからClient IDをコピーします。ShanoneのSpotifyパネルに戻り、Client ID欄に貼り付けて接続を押してください。Client Secretをコピー・入力する必要はありません。
5

接続を承認して動作を確認する

Spotifyの同意画面で、要求された権限を承認します。Shanoneに戻ったら、Spotifyが接続済みになっていることを確認してください。エージェントに「今、何を聴いている?」などと依頼するか、接続前のリクエストを再実行してください。再生操作には、スマートフォンやPCでSpotifyアプリを開くなど、操作対象のアクティブなSpotifyデバイスが必要です。
以前の接続方式でSpotifyを連携していた場合は、自分のClient IDを使って再接続してください。以前のアプリへの認可を、別のアプリに引き継ぐことはできません。

利用可能なツール

ShanoneはSpotify向けに57個のツールを、以下のカテゴリに整理して提供しています。
spotify_get_playback_state, spotify_get_currently_playing, spotify_get_available_devices, spotify_get_queue, spotify_get_recently_played, spotify_start_playback, spotify_pause_playback, spotify_skip_to_next, spotify_skip_to_previous, spotify_seek_to_position, spotify_set_repeat_mode, spotify_set_shuffle, spotify_set_volume, spotify_transfer_playback, spotify_add_to_queue
spotify_get_saved_albums, spotify_save_albums, spotify_remove_saved_albums, spotify_get_saved_shows, spotify_save_shows, spotify_remove_saved_shows, spotify_get_saved_audiobooks, spotify_save_audiobooks, spotify_remove_saved_audiobooks, spotify_get_saved_tracks, spotify_save_tracks, spotify_remove_saved_tracks
spotify_get_my_playlists, spotify_get_playlist, spotify_create_playlist, spotify_add_tracks_to_playlist, spotify_remove_tracks_from_playlist, spotify_update_playlist_details, spotify_reorder_playlist_items, spotify_replace_playlist_items, spotify_get_playlist_cover_image, spotify_upload_playlist_cover_image, spotify_get_playlist_items
spotify_follow_artists, spotify_unfollow_artists, spotify_get_followed_artists, spotify_check_following_artists, spotify_follow_playlist, spotify_unfollow_playlist
spotify_get_track, spotify_get_recommendations, spotify_search
spotify_get_album, spotify_get_artist
spotify_get_show, spotify_get_show_episodes, spotify_get_episode, spotify_get_audiobook, spotify_get_audiobook_chapters, spotify_get_chapter
spotify_get_my_profile, spotify_get_top_items

よくあるユースケース

音声操作による再生

リクエストに応じて特定のトラック/アルバム/プレイリストを再生、スキップ、音量調整する

プレイリストのキュレーション

検索結果からテーマ別プレイリストを作成し、カスタムカバー画像を追加する

リスニングの振り返り

トップトラック/アーティストや再生履歴を取得し、リスニング傾向を要約する

発見

好きなトラックやアーティストをいくつか元にレコメンデーションを取得する

トラブルシューティング

SpotifyアプリのSettingsからClient IDをコピーしてください。Client IDは32桁の16進数です。Client Secretと取り違えていないか、空白が含まれていないか確認してください。
ShanoneのSpotifyパネルに現在表示されているリダイレクトURLを、アプリのRedirect URIsにそのまま保存してください。別のShanone環境のURLでは一致しません。
アプリ所有者のPremium契約が有効であることと、認証するSpotifyアカウントがアプリのUsers Managementに登録されていることを確認してください。設定を修正したら、ShanoneのSpotifyパネルから再接続します。
再生操作系のツールには、少なくとも1つのアクティブなSpotify Connectデバイス(スマホ/PC/Webでアプリが開いている状態)が必要です。まずspotify_get_available_devicesとspotify_transfer_playbackで対象デバイスを選択してください。
接続したアカウントのSpotify Premium契約が有効であることと、意図したアクティブなデバイスを操作対象にしていることを確認してください。
プレイリストIDが認証済みユーザーのものであるか、共同編集権限を持っているか確認してください——Spotifyは接続中のアカウントが変更できないプレイリストへの書き込みを拒否します。