Spotify をSSIS 経由でSQL サーバーにバックアップする
Spotify 用のCData ADO.NET プロバイダーはSpotify をバックアップ、レポート、フルテキスト検索、分析などを行うアプリケーションに接続します。
ここでは、SQL サーバー SSIS ワークフロー内でSpotify 用のプロバイダーを使用して、Spotify をMicrosoft SQL サーバーデータベースに直接転送する方法を説明します。 以下のアウトラインと同じ手順を、CData ADO.NET データプロバイダーにて使用することで、SSIS 経由でSQL サーバーを直接リモートデータに接続できます。
- Visual Studio を開き、新しいIntegration サービスプロジェクトを追加します。
- ツールボックスからControl Flow 画面へ、新しいData Flow タスクを追加します。
Data Flow 画面で、ツールボックスから[ADO.NET Source] と[OLE DB Destination] を追加します。

- 新しい接続を追加し、Spotify 2015 用の .NET プロバイダー\CData ADO.NET Provider for APIs 2015
Connection Manager で、Spotify 用に接続の詳細を入力します。下は一般的な接続文字列です。
Profile=C:\profiles\Spotify.apip;AuthScheme=OAuth;InitiateOAuth=GETANDREFRESH;OAuthClientId=your_client_id;OAuthClientSecret=your_client_secret;CallbackURL=http://localhost:33333;
OAuth 認証の設定
Spotify は認証に OAuth 2.0 を使用します。クライアント認証情報を取得するには、Spotify Developer Dashboard でアプリケーションを作成する必要があります。
Spotify アプリケーションのセットアップ
- Spotify Developer Dashboard にアクセスします。
- Spotify アカウントでログインして Create app をクリックします。
- アプリ名、説明を入力し、Redirect URI を設定します(デスクトップアプリケーションの場合は
http://localhost:33333
など)。 - アプリ設定から Client ID と Client Secret をコピーします。
接続プロパティ
以下の接続プロパティを設定して接続を確立してください:
- AuthScheme:OAuth に設定します。
- InitiateOAuth:GETANDREFRESH に設定します。InitiateOAuth を使うと、OAuthAccessToken を取得するプロセスを管理できます。
- OAuthClientId:Spotify アプリケーションの Client ID に設定します。
- OAuthClientSecret:Spotify アプリケーションの Client Secret に設定します。
- Scope:必要な OAuth スコープ(スペース区切り)に設定します。デフォルトには、このプロファイルのテーブルに必要なすべての読み取りスコープが含まれます。
- CallbackURL:Spotify アプリケーションで設定したリダイレクト URI に設定します(例:http://localhost:33333)。
接続文字列の例
Profile=C:\profiles\Spotify.apip;AuthScheme=OAuth;InitiateOAuth=GETANDREFRESH;OAuthClientId=your_client_id;OAuthClientSecret=your_client_secret;CallbackURL=http://localhost:33333;
利用可能な OAuth スコープ
- user-read-private:ユーザーのサブスクリプション詳細と露骨なコンテンツ設定への読み取りアクセス。
- user-read-email:ユーザーのメールアドレスへの読み取りアクセス。
- user-library-read:ユーザーが保存したトラック、アルバム、エピソード、ショー、オーディオブックへの読み取りアクセス。
- playlist-read-private:ユーザーの非公開プレイリストへの読み取りアクセス。
- playlist-read-collaborative:ユーザーがフォローしているコラボレーティブプレイリストへの読み取りアクセス。
- user-follow-read:現在のユーザーがフォローしているアーティストの一覧への読み取りアクセス。
- user-read-playback-state:ユーザーのプレーヤー状態(デバイス、現在のトラック、再生位置)への読み取りアクセス。
- user-read-currently-playing:ユーザーが現在再生中のコンテンツへの読み取りアクセス。
- user-read-playback-history:ユーザーが最近再生したトラックへの読み取りアクセス。
- user-top-read:ユーザーのトップアーティストとトラックへの読み取りアクセス。

DataReader editor を開き、次のインフォメーションを設定します。
- ADO.NET 接続マネージャー:Connection Manager のメニューで、先ほど作成した[Data Connection] を選択します。
- データアクセスモード:[SQL command] を選択します。
- SQL command テキスト:DataReader Source editor で、Component Properties タブを開き、下にあるようなSELECT command を入力します。
SELECT , FROM Albums WHERE Id = '4aawyAB9vmqN3uQ7FjRGTy'
- DataReader editor を閉じ、DataReader Source の下の矢印をドラッグして、OLE DB Destination に接続します。
OLE DB Destination を開き、Destination Component Editor で次のインフォメーションを入力します。
- コネクションマネージャー:新しい接続を追加します。接続するサーバーおよびデータベースの情報を入力します。ここでは、SQLExpress は他のマシンで運用中です。
- データアクセスモード:データアクセスモードを[table or view] に設定し、データベースに入力するテーブルまたはビューを選択します。
Mappings 画面で必要なプロパティを設定します。

- OLE DB Destination Editor を閉じ、プロジェクトを始動します。SSIS タスクの実行が完了すれば、 Spotify から取得したデータが、データベースに入力されます。