SSRS レポートサーバーにADO.NET Provider を配置してSpotify 連携

加藤龍彦
加藤龍彦
デジタルマーケティング
SSRS レポートサーバーからSpotify のデータに連携してレポートを作成。ネイティブモードレポートサーバーでも、SharePoint farm でも。



この記事では、CData ADO.NET Provider for API をSSRS レポートサーバーで配布する方法を説明します。また、共有データソースも作成します;共有データソースは、複数の帳票からリアルタイムSpotify への接続を可能にします。共有データソースへは、Visual Studio のレポートデザイナーから接続できます。

ADO.NET Provider の配置

ネイティブモードのレポートサーバー、およびSharePoint server farm の一部としてインストールされたレポートサーバーに、同じ手順でプロバイダーを配布できます。プロバイダーに同梱されているInstallProvider.exe ユーティリティを使って、レポートサーバーにプロバイダーを配布します。InstallProvider.exe は、プロバイダーのインストールディレクトリの[lib]ブフォルダ内にあります。SQL サーバーのバージョン用のexe ファイルとSSRS フォルダを、配布するマシンにコピーします。/installssrs flag でexe ファイルを実行します。

.\InstallProvider.exe /installssrs PathToFolderWithSSRSDLL

Spotify に共有データソースを作成

レポートサーバーから直接、またはSharePoint サイトから共有データソースを作成できます。あるいは、レポートデザイナーを使って作成することも可能です。

レポートデザイナー

レポートデザイナーを使って、ネイティブモードのレポートサーバーまたはSharePoint server farm のレポートサーバーで、共有データソースを作成できます。

  1. In a Report Server Project in Visual Studio, right-click Shared Data Sources in Solution Explorer and click Add New Data Source.
  2. Enter a name for the data source and in the Type menu select CData API Report.
  3. In the Connection String box, enter the connection string to connect to Spotify. A typical connection string is below:
    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 アプリケーションのセットアップ

    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:ユーザーのトップアーティストとトラックへの読み取りアクセス。

    When you configure the connection, you may also want to set the Max Rows connection property. This will limit the number of rows returned, which is especially helpful for improving performance when designing reports and visualizations.

  4. Set the folder and server URL in your project properties. If you are publishing to SharePoint, the values for all properties must be fully qualified URLs. For example:
    • Report Server: http://MyServerName/ReportServer
    • SharePoint: http://MyServerName/MySite/MySubsite
  5. Right-click the shared data source and click Deploy.

レポートサーバー

レポートサーバーのネイティブモードのインストールでは、Report Manager を使って共有データソースを作成できます。レポートサーバーでデータソースを管理する権限が必要です。

  1. From the Home page in Report Manager, click New Data Source. The New Data Source page is displayed.
  2. Enter a name for the data source and in the Data Source Type menu, select CData API Report.
  3. In the Connection String box, enter the connection string to connect to Spotify. A typical connection string is below:
     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 アプリケーションのセットアップ

    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:ユーザーのトップアーティストとトラックへの読み取りアクセス。

SharePoint

SharePoint サイトで共有データソースを作成する方法は、次のとおりです。レポートサーバーcontent タイプをライブラリに追加していない場合は、追加しておく必要があります:

  1. SharePoint にログインし、.rsds ファイルを保存したいライブラリを開きます。
  2. [Library Tools]タブで[Settings]リボングループから[Library Settings]をクリックします。
  3. [General Settings]セクションで[Advanced Settings] をクリックします。
  4. [Content Types]セクションで[Yes]を選択し、cntent タイプの管理を許可します。[Content Types]セクションは[Library Settings]ページに追加されます。
  5. 既存のサイトcontent タイプから[Add]をクリックします。
  6. [Available Site Content Types]リストから[レポートデータソース]を選択し、[Add]をクリックします。

これで、共有データソースを作成できます。Spotify への接続情報を含む.rsds ファイルを作成します。

  1. Log into SharePoint and open the library where you want to save the .rsds file.
  2. On the ribbon click Documents -> New Document -> Report Data Source.
  3. Enter a name for the data source.
  4. In the Data Source Type menu, select CData API Report.
  5. In the Connection String box, enter the connection string to connect to Spotify. A typical connection string is below:
    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 アプリケーションのセットアップ

    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:ユーザーのトップアーティストとトラックへの読み取りアクセス。

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

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

Spotify に接続