Skip to content
Snippets Groups Projects
Select Git revision
  • 7c3dc0f196a707ec1fa06e4a9dd7db09f519f3db
  • master default protected
2 results

Unity.Timeline.dll

Blame
  • spotify.dart 7.20 KiB
    import 'dart:convert';
    import 'dart:developer';
    import 'dart:io';
    
    import 'package:flutter/services.dart';
    import 'package:http/http.dart' as http;
    import 'package:spotify_sdk/spotify_sdk.dart';
    
    class Spotify {
      final clientId = '60cf1944b15d4f9fb223ba32ce6336d1';
      final clientSecret = 'd2a2fd28d1c14d14babd781b8d5b52f5';
      final code = "AQCSV8ivXmfyNPrIkq-1xlmsaRmW-zgcrQDKHEQG-axgIFooNsk7tj24-StF_4y3B5ALd4d-efCQM6NkOcyCkQFV4MkuC7kAr8B64Gum8gt5yuutckAFndFDK__HhMQIOyO49OCs7sJIK2e8VHRT5h6dMdCyKUvWg7udxiQSYUHglS97leWWtfo9u_GWK1p3P5Mr_Mg7OYG0DkzY&state=34fFs29kd09";
    
      final scope =
          'user-library-modify playlist-modify-private playlist-read-private user-follow-read user-read-current-playing user-library-read user-read-private user-top-read user-follow-modify user-read-recent-played';
    
      var authToken =
          'BQBIbqReZny6ctqIobozxD8dh6w7DBcWLLOYGT3NtngJntXWztPp27C4FZigb55UdjbLnyn_BRw3DlFlwPpgBwU8AeIxXOZvw3fw1liR5zpsyJkVq2ndzXBH0P49p9otYmG9w0RkQy1S_SxVeaZlHHJuImXfL3ckYw5u3Z9iMMtn3i2vnhBJjBjxDHb_WHMEeiRPf14xubjRocD7RvRrJrv0fNNDborP4mdcTS3wUkIOgh-_x--9Y_OKGMOjy9XfN4EcuTFmUVyYPLSYhDB6acRlrK1f';
    
      Future<String> generateAuthToken() async {
        String encoded = base64Url.encode('$clientId:$clientSecret'.codeUnits);
        try {
          final response = await http.post(
            Uri.parse("https://accounts.spotify.com/api/token"),
            headers: {"Content_type": "application/x-www-form-urlencoded"},
            body: {
              "grant_type": "client_credentials",
              "client_id": clientId,
              "client_secret": clientSecret
            });
    
          if (response.statusCode == 200) {
            print(200);
            Map<String, dynamic> tokenResponse = json.decode(response.body);
            authToken = tokenResponse["access_token"];
            print(authToken);
          } else if (response.statusCode == 400) {
            print(400);
            Map<String, dynamic> tokenResponse = json.decode(response.body);
            print(tokenResponse["error_description"]);
          } else {print("anderer");}
    
        } catch (e) {
          // TODO: Handle Error
        }
        return authToken;
      }
    
      search(text) async {
        var token = generateAuthToken();
        try {
          final response = await http.get(
            Uri.parse('https://api.spotify.com/v1/search?q=$text&type=track'),
            headers: {'Authorization': 'Bearer $authToken'},
          );
          final responseJson = json.decode(response.body);
          print(responseJson);
          final items = responseJson['tracks']['items'] as List;
    
          List songList = items.map((item) => Song.fromJson(item)).toList();
    
          return songList;
        } catch (e) {
          log(e.toString());
        }
      }
    
      playGenre(genre) async {
        try {
          final response = await http.get(