BIRT でSpotify のデータのレポートを作成

Jerod Johnson
Jerod Johnson
Director, Technology Evangelism
組み込み分析にSpotifyのリアルタイムデータを提供。

CData JDBC Driver for Spotify は、データドリブンな Java アプリケーションにSpotify API への接続機能を統合します。CData JDBC Driver for Spotify を BIRT(Business Intelligence Reporting Tools)プラットフォームと組み合わせることで、データの変更をリアルタイムに反映する BIRT レポートを作成できます。

  1. まだインストールしていない場合は、BIRT Framework プラグインと Database Development プラグインを Eclipse にインストールします。
  2. 「File」->「New」->「Report」をクリックします。Report Design パースペクティブが開きます。
  3. Data Explorer で「Data Sources」を右クリックし、「New Data Source」をクリックします。
  4. 「Create from a Data Source Type in the Following List」オプションを選択し、「JDBC Data Source」を選択します。
  5. 「Manage Drivers」をクリックし、インストールフォルダの lib サブフォルダにあるドライバー JAR を追加します。
  6. 「Database URL」ボックスに、接続文字列を含む JDBC URL を入力します。

    OAuth 認証の設定

    Spotify は認証に OAuth 2.0 を使用します。クライアント認証情報を取得するには、Spotify Developer Dashboard でアプリケーションを作成する必要があります。

    Spotify アプリケーションのセットアップ

    1. Spotify Developer Dashboard にアクセスします。
    2. Spotify アカウントでログインして Create app をクリックします。
    3. アプリ名、説明を入力し、Redirect URI を設定します(デスクトップアプリケーションの場合は
      http://localhost:33333
      など)。
    4. アプリ設定から Client IDClient Secret をコピーします。

    接続プロパティ

    以下の接続プロパティを設定して接続を確立してください:

    • AuthScheme:OAuth に設定します。
    • InitiateOAuthGETANDREFRESH に設定します。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:ユーザーのトップアーティストとトラックへの読み取りアクセス。

    組み込みの接続文字列デザイナー

    JDBC URL の構築には、Spotify JDBC Driver に組み込まれている接続文字列デザイナーを使用できます。JAR ファイルをダブルクリックするか、コマンドラインから JAR ファイルを実行してください。

    java -jar cdata.jdbc.api.jar
    

    接続プロパティを入力し、接続文字列をクリップボードにコピーします。

    JDBC URL を設定する際、Max Rows 接続プロパティも設定しておくと良いでしょう。返される行数が制限されるため、レポートやビジュアライゼーションの設計時のパフォーマンスが向上します。

    一般的な JDBC URL は以下のとおりです:

    jdbc:api:Profile=C:\profiles\Spotify.apip;AuthScheme=OAuth;InitiateOAuth=GETANDREFRESH;OAuthClientId=your_client_id;OAuthClientSecret=your_client_secret;CallbackURL=http://localhost:33333;
    
  7. 「Data Sets」フォルダを右クリックし、Spotify用の JDBC データソースを選択します。
  8. 表示されるダイアログで、レポート用のデータを取得する SELECT クエリを作成します。この記事では以下のクエリを使用します:
    SELECT ,  FROM Albums WHERE Id = '4aawyAB9vmqN3uQ7FjRGTy'
    
  9. 「Palette」からエディターにチャートをドラッグします。チャートウィザードが表示されます。
  10. チャートタイプを選択した後、「Select Data」タブでカラムをチャートフィールドにドラッグします。
  11. 「Run」->「View Report」->「In Web Viewer」をクリックしてレポートを表示します。

これで、BIRT レポートがSpotify のデータの更新を反映できるようになりました。

レポートをアプリケーションサーバーに公開するには、ドライバー JAR を BIRT Viewer のクラスパスに追加します。詳細については、Java アプリケーションサーバーへの JDBC ドライバのデプロイに関する CData KB ガイドを参照してください。

はじめる準備はできましたか?

API Driver で Spotify のライブデータに接続

Spotify に接続