Validate Spotify Data with QuerySurge

Jerod Johnson
Jerod Johnson
Director, Technology Evangelism
Access and validate Spotify data in QuerySurge using the CData JDBC Driver.

QuerySurge is a smart data testing solution that automates data validation and testing. When paired with the CData API Driver for JDBC, QuerySurge can work with live Spotify data. This article explains how to connect to Spotify data from QuerySurge.

With built-in optimized data processing, the CData JDBC Driver offers unmatched performance for interacting with live Spotify data. When you issue complex SQL queries to Spotify, the driver pushes supported SQL operations, like filters and aggregations, directly to Spotify and utilizes the embedded SQL engine to process unsupported operations client-side (often SQL functions and JOIN operations). Its built-in dynamic metadata querying allows you to work with and analyze Spotify data using native data types.

Connecting to Spotify Data in QuerySurge

To connect to live Spotify data from QuerySurge, you need to deploy the JDBC Driver JAR file to your QuerySurge Agent(s) and add a new connection from the QuerySurge Admin view.

Deploy the JDBC Driver

  1. Download the CData API Driver for JDBC installer, unzip the package, and run the JAR file to install the driver.
  2. Once the driver is installed, stop the Agent Service.
  3. Copy the JAR File (and license file if it exists) from the installation location (typically C:\Program Files\CData\CData API Driver for JDBC\lib\) to your Agent(s) (QuerySurge_install_dir\agent\jdbc).
  4. Restart the Agent Service.

For more information on deploying JDBC drivers for QuerySurge, refer to the QuerySurge Knowledge Base.

Configure a New Connection to Spotify

  1. Log into QuerySurge and navigate to the Admin view.
  2. Click Configuration -> Connections in the Administration Tree.
  3. Click Add to create a new connection.
  4. In the QuerySurge Connection Wizard, click Next.
  5. Name the connection (e.g. CData JDBC Connection to Spotify).
  6. Set the Data Source to "All Other JDBC Connections (Connection Extensibility)" and click Next.
  7. Set the Driver Class to cdata.jdbc.api.APIDriver and click Next.
  8. Set the Connection URL using the necessary connection properties to authenticate with Spotify. Your Connection URL will look something like the following:

    jdbc:api:Profile=C:\profiles\Spotify.apip;AuthScheme=OAuth;InitiateOAuth=GETANDREFRESH;OAuthClientId=your_client_id;OAuthClientSecret=your_client_secret;CallbackURL=http://localhost:33333;

    Built-in Connection String Designer

    For assistance in constructing the JDBC URL, use the connection string designer built into the Spotify JDBC Driver. Either double-click the JAR file or execute the jar file from the command-line.

    java -jar cdata.jdbc.api.jar
    	

    Fill in the connection properties and copy the connection string to the clipboard.

    Using OAuth Authentication

    Spotify uses OAuth 2.0 for authentication. You will need to create an application in the Spotify Developer Dashboard to obtain your client credentials.

    Setting Up Your Spotify Application

    1. Visit the Spotify Developer Dashboard.
    2. Log in with your Spotify account and click Create app.
    3. Provide an app name, description, and set a Redirect URI (e.g.,
      http://localhost:33333
      for desktop applications).
    4. Copy your Client ID and Client Secret from the app settings.

    Connection Properties

    After setting the following connection properties, you are ready to connect:

    • AuthScheme: Set this to OAuth.
    • InitiateOAuth: Set this to GETANDREFRESH. You can use InitiateOAuth to manage the process to obtain the OAuthAccessToken.
    • OAuthClientId: Set this to your Spotify application's Client ID.
    • OAuthClientSecret: Set this to your Spotify application's Client Secret.
    • Scope: Set this to the required OAuth scopes (space-separated). The default includes all read scopes needed for the tables in this profile.
    • CallbackURL: Set this to the Redirect URI configured in your Spotify application (e.g., http://localhost:33333).

    Example Connection String

    Profile=C:\profiles\Spotify.apip;AuthScheme=OAuth;InitiateOAuth=GETANDREFRESH;OAuthClientId=your_client_id;OAuthClientSecret=your_client_secret;CallbackURL=http://localhost:33333;
    

    Available OAuth Scopes

    • user-read-private: Read access to user's subscription details and explicit content settings.
    • user-read-email: Read access to user's email address.
    • user-library-read: Read access to a user's saved tracks, albums, episodes, shows, and audiobooks.
    • playlist-read-private: Read access to user's private playlists.
    • playlist-read-collaborative: Read access to collaborative playlists the user follows.
    • user-follow-read: Read access to the list of artists the current user follows.
    • user-read-playback-state: Read access to a user's player state (device, current track, progress).
    • user-read-currently-playing: Read access to a user's currently playing content.
    • user-read-playback-history: Read access to a user's recently played tracks.
    • user-top-read: Read access to a user's top artists and tracks.
  9. Set the Test Query to enable the Test Connection button for the Connection (e.g. SELECT * FROM Albums LIMIT 1) and click Next.
  10. Click Test Connection to ensure the connection is configured properly and click Save to add the connection.

Once the connection is added, you can write SQL queries against your Spotify data in QuerySurge.

Compare Spotify Data Queries with a QueryPair

With the connection configured, you can follow the steps below to compare querying Spotify data with a QueryPair.

  1. Select "Design Library" from the Design Menu
  2. Click QueryPairs under QuerySurge Design
  3. Click "Create New QueryPair"
  4. Name the QueryPair and click Save
  5. In either the Source or Target panes, select the connection created above (select the same connection to query Spotify twice or another connection to perform a comparison)
  6. Write queries in the Editor for each pane, e.g. SELECT * FROM Albums
  7. Click the "Design-Time Run" tab to execute the queries
  8. When the query execution is finished, click "View Query Results" to see the Spotify data returned by the query

Download a free, 30-day trial of the CData API Driver for JDBC and start working with your live Spotify data in QuerySurge. Reach out to our Support Team if you have any questions.

Ready to get started?

Connect to live data from Spotify with the API Driver

Connect to Spotify