Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

spotify-api-sdk

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

spotify-api-sdk

  • 1.0.0
  • Rubygems
  • Socket score

Version published
Maintainers
1
Created
Source

Getting Started with Spotify Web API

Introduction

You can use Spotify's Web API to discover music and podcasts, manage your Spotify library, control audio playback, and much more. Browse our available Web API endpoints using the sidebar at left, or via the navigation bar on top of this page on smaller screens.

In order to make successful Web API requests your app will need a valid access token. One can be obtained through OAuth 2.0.

The base URI for all Web API requests is https://api.spotify.com/v1.

Need help? See our Web API guides for more information, or visit the Spotify for Developers community forum to ask questions and connect with other developers.

Install the Package

Install the gem from the command line:

gem install spotify-api-sdk -v 1.0.0

Or add the gem to your Gemfile and run bundle:

gem 'spotify-api-sdk', '1.0.0'

For additional gem details, see the RubyGems page for the spotify-api-sdk gem.

Initialize the API Client

Note: Documentation for the client can be found here.

The following parameters are configurable for the API Client:

ParameterTypeDescription
environmentEnvironmentThe API environment.
Default: Environment.PRODUCTION
connectionFaraday::ConnectionThe Faraday connection object passed by the SDK user for making requests
adapterFaraday::AdapterThe Faraday adapter object passed by the SDK user for performing http requests
timeoutFloatThe value to use for connection timeout.
Default: 60
max_retriesIntegerThe number of times to retry an endpoint call if it fails.
Default: 0
retry_intervalFloatPause in seconds between retries.
Default: 1
backoff_factorFloatThe amount to multiply each successive retry's interval amount by in order to provide backoff.
Default: 2
retry_statusesArrayA list of HTTP statuses to retry.
Default: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524]
retry_methodsArrayA list of HTTP methods to retry.
Default: %i[get put]
http_callbackHttpCallBackThe Http CallBack allows defining callables for pre and post API calls.
authorization_code_auth_credentialsAuthorizationCodeAuthCredentialsThe credential object for OAuth 2 Authorization Code Grant

The API client can be initialized as follows:

client = SpotifyWebApi::Client.new(
  authorization_code_auth_credentials: AuthorizationCodeAuthCredentials.new(
    o_auth_client_id: 'OAuthClientId',
    o_auth_client_secret: 'OAuthClientSecret',
    o_auth_redirect_uri: 'OAuthRedirectUri',
    o_auth_scopes: [
      OAuthScopeEnum::APP_REMOTE_CONTROL,
      OAuthScopeEnum::PLAYLIST_READ_PRIVATE
    ]
  ),
  environment: Environment::PRODUCTION
)

API calls return an ApiResponse object that includes the following fields:

FieldDescription
status_codeStatus code of the HTTP response
reason_phraseReason phrase of the HTTP response
headersHeaders of the HTTP response as a Hash
raw_bodyThe body of the HTTP response as a String
requestHTTP request info
errorsErrors, if they exist
dataThe deserialized body of the HTTP response

Authorization

This API uses the following authentication schemes.

List of APIs

Classes Documentation

FAQs

Package last updated on 23 Aug 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc