> ## Documentation Index
> Fetch the complete documentation index at: https://docs.shanone.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Spotify

> 再生を操作し、プレイリストとライブラリを管理し、アーティスト・アルバム・番組・オーディオブックを閲覧する

# Spotify

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

## はじめに

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

<Steps>
  <Step title="ShanoneでリダイレクトURLをコピーする">
    [Shanoneダッシュボード](https://app.shanone.ai)の**連携 → Spotify**を開き、接続パネルに表示されるリダイレクトURLをコピーします。接続するShanone環境に表示されているURLを使ってください。
  </Step>

  <Step title="自分のSpotifyアプリを設定する">
    [Spotify Developer Dashboard](https://developer.spotify.com/dashboard)を開き、自分のアプリを作成するか、既存のアプリを開きます。**Settings**で、ShanoneからコピーしたURLを**Redirect URIs**に追加し、保存してください。パスや末尾のスラッシュを含め、URLを完全に一致させる必要があります。
  </Step>

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

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

  <Step title="接続を承認して動作を確認する">
    Spotifyの同意画面で、要求された権限を承認します。Shanoneに戻ったら、Spotifyが接続済みになっていることを確認してください。

    エージェントに「今、何を聴いている？」などと依頼するか、接続前のリクエストを再実行してください。再生操作には、スマートフォンやPCでSpotifyアプリを開くなど、操作対象のアクティブなSpotifyデバイスが必要です。
  </Step>
</Steps>

<Note>
  以前の接続方式でSpotifyを連携していた場合は、自分のClient IDを使って再接続してください。以前のアプリへの認可を、別のアプリに引き継ぐことはできません。
</Note>

## 利用可能なツール

ShanoneはSpotify向けに**57個のツール**を、以下のカテゴリに整理して提供しています。

<AccordionGroup>
  <Accordion title="プレイヤー">
    `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`
  </Accordion>

  <Accordion title="ライブラリ">
    `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`
  </Accordion>

  <Accordion title="プレイリスト">
    `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`
  </Accordion>

  <Accordion title="フォロー">
    `spotify_follow_artists`, `spotify_unfollow_artists`, `spotify_get_followed_artists`, `spotify_check_following_artists`, `spotify_follow_playlist`, `spotify_unfollow_playlist`
  </Accordion>

  <Accordion title="トラック & レコメンデーション">
    `spotify_get_track`, `spotify_get_recommendations`, `spotify_search`
  </Accordion>

  <Accordion title="アルバム & アーティスト">
    `spotify_get_album`, `spotify_get_artist`
  </Accordion>

  <Accordion title="番組、エピソード & オーディオブック">
    `spotify_get_show`, `spotify_get_show_episodes`, `spotify_get_episode`, `spotify_get_audiobook`, `spotify_get_audiobook_chapters`, `spotify_get_chapter`
  </Accordion>

  <Accordion title="ユーザープロフィール">
    `spotify_get_my_profile`, `spotify_get_top_items`
  </Accordion>
</AccordionGroup>

## よくあるユースケース

<CardGroup cols={2}>
  <Card title="音声操作による再生" icon="play">
    リクエストに応じて特定のトラック/アルバム/プレイリストを再生、スキップ、音量調整する
  </Card>

  <Card title="プレイリストのキュレーション" icon="list-music">
    検索結果からテーマ別プレイリストを作成し、カスタムカバー画像を追加する
  </Card>

  <Card title="リスニングの振り返り" icon="chart-bar">
    トップトラック/アーティストや再生履歴を取得し、リスニング傾向を要約する
  </Card>

  <Card title="発見" icon="compass">
    好きなトラックやアーティストをいくつか元にレコメンデーションを取得する
  </Card>
</CardGroup>

## トラブルシューティング

<AccordionGroup>
  <Accordion title="Client IDが受け付けられない">
    SpotifyアプリのSettingsからClient IDをコピーしてください。Client IDは32桁の16進数です。Client Secretと取り違えていないか、空白が含まれていないか確認してください。
  </Accordion>

  <Accordion title="リダイレクトURIが無効と表示される">
    ShanoneのSpotifyパネルに現在表示されているリダイレクトURLを、アプリのRedirect URIsにそのまま保存してください。別のShanone環境のURLでは一致しません。
  </Accordion>

  <Accordion title="Spotifyの認証やAPIアクセスが拒否される">
    アプリ所有者のPremium契約が有効であることと、認証するSpotifyアカウントがアプリのUsers Managementに登録されていることを確認してください。設定を修正したら、ShanoneのSpotifyパネルから再接続します。
  </Accordion>

  <Accordion title="spotify_start_playbackやspotify_skip_to_nextがアクティブデバイスなしで失敗する">
    再生操作系のツールには、少なくとも1つのアクティブなSpotify Connectデバイス(スマホ/PC/Webでアプリが開いている状態)が必要です。まず`spotify_get_available_devices`と`spotify_transfer_playback`で対象デバイスを選択してください。
  </Accordion>

  <Accordion title="再生系ツールは動作するが実際には何も変わらない">
    接続したアカウントのSpotify Premium契約が有効であることと、意図したアクティブなデバイスを操作対象にしていることを確認してください。
  </Accordion>

  <Accordion title="自分が所有しているはずのプレイリストでspotify_add_tracks_to_playlistが失敗する">
    プレイリストIDが認証済みユーザーのものであるか、共同編集権限を持っているか確認してください——Spotifyは接続中のアカウントが変更できないプレイリストへの書き込みを拒否します。
  </Accordion>
</AccordionGroup>
