Connect to Spotify Data in HULFT Integrate
HULFT Integrate is a modern data integration platform that provides a drag-and-drop user interface to create cooperation flows, data conversion, and processing so that complex data connections are easier than ever to execute. When paired with the CData API Driver for JDBC, HULFT Integrate can work with live Spotify data. This article explains how to connect to Spotify and move the data into a CSV file.
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.
Enable Access to Spotify
To enable access to Spotify data from HULFT Integrate projects:
- Copy the CData JDBC Driver JAR file (and license file if it exists), cdata.jdbc.api.jar (and cdata.jdbc.api.lic), to the jdbc_adapter subfolder for the Integrate Server
- Restart the HULFT Integrate Server and launch HULFT Integrate Studio
Build a Project with Access to Spotify Data
Once you copy the JAR files, you can create a project with access to Spotify data. Start by opening Integrate Studio and creating a new project.
- Name the project
- Ensure the "Create script" checkbox is checked
- Click Next
- Name the script (e.g.: APItoCSV)
Once you create the project, add components to the script to copy Spotify data to a CSV file.
Configure an Execute Select SQL Component
Drag an "Execute Select SQL" component from the Tool Palette (Database -> JDBC) into the Script workspace.
- In the "Required settings" tab for the Destination, click "Add" to create a new connection for Spotify. Set the following properties:
- Name: Spotify Connection Settings
- Driver class name: cdata.jdbc.api.APIDriver
- URL: 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 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
- Visit the Spotify Developer Dashboard.
- Log in with your Spotify account and click Create app.
- Provide an app name, description, and set a Redirect URI (e.g.,
http://localhost:33333
for desktop applications). - 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.
- Write your SQL statement. For example:
SELECT , FROM Albums
- Click "Extraction test" to ensure the connection and query are configured properly
- Click "Execute SQL statement and set output schema"
- Click "Finish"
Configure a Write CSV File Component
Drag a "Write CSV File" component from the Tool Palette (File -> CSV) onto the workspace.
- Set a file to write the query results to (e.g. Albums.csv)
- Set "Input data" to the "Select SQL" component
- Add columns for each field selected in the SQL query
- In the "Write settings" tab, check the checkbox to "Insert column names into first row"
- Click "Finish"
Map Spotify Fields to the CSV Columns
Map each column from the "Select" component to the corresponding column for the "CSV" component.
Finish the Script
Drag the "Start" component onto the "Select" component and the "CSV" component onto the "End" component. Build the script and run the script to move Spotify data into a CSV file.
Download a free, 30-day trial of the CData API Driver for JDBC and start working with your live Spotify data in HULFT Integrate. Reach out to our Support Team if you have any questions.