Skip to content

CreatorStack/spotify_flutter

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is a library that helps with interfacing with the Spotify Api.

Features

This package can help you interact with the following sections under the Spotify Api

  • Artists
  • Users
  • Albums
  • Genre
  • Playlist

Getting started

Get your api keys from Spotify.

The project requires a minimum SDK version on Android of 18.

Add this to your Manifest File on Android.

        <intent-filter android:label="flutter_web_auth">

            <action android:name="android.intent.action.VIEW" />

            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />

            <data android:scheme="[INSERT_YOUR_CALLBACK_SCHEME]" />


        </intent-filter>
    </activity>

Usage

Authentication:

Ensure to authenticate first before using any of the methods. Do not forget to add your REDIRECT URI in your spotify dashboard and ensure they are the same as the one used to authenticate.

Hint: Your redirect Uri should be [YOUR_CALL_BACK_SCHEME]://[ANYTHING_YOU_WANT].com

 _authenticate() async {
  final response = await SpotifyApi.instance.authService.authorize(
    redirectUri: '[INSERT_YOUR_REDERICT_URI]',
    clientId: '[INSERT_YOUR_CLIENT_ID]',
    callbackUrlScheme: '[INSERT_YOUR_CALL_BACK_SCHEME]',
    //Optional: A space-separated list of scopes.To see a valid list of scopes check the spotify docs. Example below:
    scope: 'user-read',
    secretKey: '[INSERT_YOUR_SECRET_KEY]',
  );
  response.when(success: (success) {
    //TODO: HANDLE SUCCESS
  }, failure: (failure) {
    //TODO: HANDLE FAILURE.
  });
}

Simple Example

To get current users profile.

  _getCurrentUserProfile() async {
    final spotifyUserService = SpotifyApi.instance.userService;
    final response = await spotifyUserService.getCurrentUsersProfile();
    response.when(success: (success) {
      print('Users name is ${success.displayName}');
    }, failure: (failure) {
      print('Failed ${failure.message}');
    });
  }

Issues and feedback

Please file issues, bugs, or feature requests in our issue tracker.

Feel free contribute a change to this plugin by opening a pull request.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Dart 99.6%
  • Other 0.4%