Flutter Spotify - How to get recommendations based on seeds

197

Here's how to get recommendations based on seeds.

// Spotify object
var _spotify = SpotifyApi(_credentials);

void getRecommendations() async {
  Recommendations _recommendations = await _spotify.recommendations.get(
    seedTracks: ['5uaIbU3oHHcSOK6WFNK5nj'],
    limit: 10,
  );

  List<TrackSimple> _tracks = _recommendations.tracks;

  _tracks.forEach((element) {
    debugPrint(element.name);
  });
}
Share:
197
Gautam J
Author by

Gautam J

Updated on December 20, 2022

Comments

  • Gautam J
    Gautam J over 1 year

    Using the Flutter Package spotify-dart, I'm trying to get track recommendations based on songs the user has in their playlist.

    Code so far:

      // Function that returns a list of recommendation tracks
      void getRecommendations() {
        List<RecommendationsSeed> _seeds = List<RecommendationsSeed>();
        Recommendations _recommendations = Recommendations();
        Map<String, dynamic> _json;
    
        _json = {
          // I would like to use this song(Photograph - Ed Sheeran) as a seed 
          'id': 'spotify:track:6XLww4MprrLCvWpVXD9K7S',
          'type': 'track'
        };
    
        _seeds.add(RecommendationsSeed.fromJson(_json));
    
        _recommendations.seeds = _seeds;
    
        List<TrackSimple> _tracks = _recommendations.tracks;
    
        _tracks.forEach((element) {
          print(element.name);
        });
    
      }
    

    However, _tracks remains null, and thus I get an error saying NoSuchMethodError: The method 'forEach' was called on null.

    I guess my implementation of adding seeds is wrong. What would be the proper way to get recommendations from seeds?