VOOZH about

URL: https://www.cdata.com/kb/tech/spotify-jdbc-dbvr.rst

⇱ How to Connect DBeaver to Spotify via a JDBC Driver


How to Connect DBeaver to Spotify via a JDBC Driver

πŸ‘ Jerod Johnson
Jerod Johnson
Director, Technology Evangelism
Manage Spotify data with visual tools in DBeaver like the query browser.

The CData API Driver for JDBC implements JDBC standards that enable third-party tools to interoperate, from wizards in IDEs to business intelligence tools. This article shows how to connect to Spotify data with wizards in DBeaver and browse data in the DBeaver GUI.

Create a JDBC Data Source for Spotify Data

Follow the steps below to load the driver JAR in DBeaver.

  1. Open the DBeaver application and, in the "Database" menu, select the "Driver Manager" option. Click "New" to open the "Create new driver" form.
  2. In the Settings tab:
    • Set Driver Name to a user-friendly name for the driver (e.g. CData API Driver for JDBC).
    • Set Class Name to the class name for the JDBC driver: cdata.jdbc.api.APIDriver.
    • Set URL Template to jdbc:api:.
    πŸ‘ Configure the new driver settings (Salesforce is shown).
  3. In the Libraries tab, click "Add File," navigate to the "lib" folder in the installation directory (C:\Program Files\CData[product_name] XXXX\) and select the JAR file (cdata.jdbc.API.jar). πŸ‘ Loading the JDBC JAR file (Salesforce is shown).

Create a Connection to Spotify Data

Follow the steps below to add credentials and other required connection properties.

  1. In the "Database" menu, click "New Database Connection."
  2. In the "Connect to a database" wizard that results, select the driver you just created (e.g. CData API Driver for JDBC) and click "Next >." πŸ‘ Selecting the driver (Salesforce is shown).
  3. On the Main tab of the configuration wizard, set the JDBC URL, using the required connection properties:

    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.

    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 the built-in connection string designer to generate a JDBC URL (Salesforce is shown.)

    Below is a typical connection string:

    jdbc:api:Profile=C:\profiles\Spotify.apip;AuthScheme=OAuth;InitiateOAuth=GETANDREFRESH;OAuthClientId=your_client_id;OAuthClientSecret=your_client_secret;CallbackURL=http://localhost:33333;
    
    πŸ‘ Configuring the JDBC URL (Salesforce is shown).
  4. Click "Test Connection ..." to ensure you have configured the connection properly. πŸ‘ A successfully configured connection (Salesforce is shown).
  5. Click "Finish."

Query Spotify Data

You can now query information from the tables exposed by the connection: Right-click a Table and then click View Table. The data is available on the Data tab.

πŸ‘ The results of a query in DBeaver. (Salesforce is shown.)

More Information & Free Trial

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