Pentaho Report Designer でSpotify のデータを連携利用

Jerod Johnson
Jerod Johnson
Director, Technology Evangelism
Pentaho BI ツールでSpotify のデータをもとにしたレポートを公開。



CData JDBC Driver for Spotify のデータ を使えば、ダッシュボードやレポートからリアルタイムデータにアクセスできます。この記事では、Spotify のデータにJDBC データソースとして接続し、Pentaho でSpotify のデータをもとにしたレポートを公開する方法を説明します。

接続してレポートを作成

  1. インストールディレクトリのlib サブフォルダ内にあるドライバーのJAR ファイルを、Pentaho ディレクトリ内の\Report-Designer\lib\jdbc\ フォルダにコピーします。
  2. \Report-Designer\ フォルダ内のreport-designer.bat ファイルを実行してReport-Designer UI を開きます。
  3. Data -> Add Data Source -> Advanced -> JDBC(Custom)をクリックし、新しいSpotify 接続を作成して、ドライバーで新しいデータソースを作成します。 表示されるダイアログで、以下のように接続プロパティを設定します。

    • Custom Connection URL property:JDBC URL を入力します。JDBC URL はjdbc:api: で始まり、その後にセミコロン区切りで接続プロパティを指定します。

      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;
    • Custom Driver Class Name:cdata.jdbc.api.APIDriver を入力します。
    • User Name:認証に使用するユーザー名。
    • Password:認証に使用するパスワード。

レポートにSpotify のデータを追加

Spotify のデータをもとにレポートを作成する準備が整いました。

  1. レポートにSpotify のソースを追加します。Data -> Add Data Source -> JDBC をクリックしてデータソースを選択します。

  2. クエリを設定します。この記事では以下のクエリを使用します:

    SELECT ,  FROM Albums WHERE Id = '4aawyAB9vmqN3uQ7FjRGTy'
  3. レポートにチャートをドラッグし、ダブルクリックしてチャートを編集します。レポートを実行してチャートを表示します。このクエリの結果を使用して、Albums テーブルのシンプルなチャートを作成できます。
  4. 最後に、レポートを実行してチャートを確認します。

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

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

Spotify に接続