Skip to content
Snippets Groups Projects
Commit 4a52008d authored by Erik Hinkelmanns's avatar Erik Hinkelmanns
Browse files

Merge remote-tracking branch 'origin/spotify-api' into music_player

parents af989bf6 b98ddbc9
No related branches found
No related tags found
No related merge requests found
import 'dart:developer';
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
class Spotify {
var authToken =
"BQAJa2icyErbxED5g-IkEpAwR1QXUJJ8v1Kz1JpvxNWCgeMAk73z_uyMVLk9exZ7s3kfLYK9m-uJMvMIvdGhbSIDzq0GyjeKfVztWH4rSAlLrMoqRXoij1q0W3Wp6okhJzaDcVkG7RLeLzr1waa1Zv-0mbfrqFznK2c7X_K2G_5jx8Flu6bPACJBCI0KuupYJ1Mg19M";
search(text) async {
try {
var response = await http.get(
Uri.parse("https://api.spotify.com/v1/search?q=$text"),
headers: {HttpHeaders.authorizationHeader: authToken},
);
return response;
} catch (e) {
log(e.toString());
}
}
getUserAlbums() async {
try {
var response = await http.get(
Uri.parse("https://api.spotify.com/v1/me/albums"),
headers: {HttpHeaders.authorizationHeader: authToken},
);
return response;
} catch (e) {
log(e.toString());
}
}
getFavoritTracks() async {
try {
var response = await http.get(
Uri.parse("https://api.spotify.com/v1/me/tracks"),
headers: {HttpHeaders.authorizationHeader: authToken},
);
return response;
} catch (e) {
log(e.toString());
}
}
saveToFavoritTracks(track) async {
try {
var response = await http.put(
Uri.parse("https://api.spotify.com/v1/me/tracks?ids=$track"),
headers: {HttpHeaders.authorizationHeader: authToken},
);
return response;
} catch (e) {
log(e.toString());
}
}
deleteToFavoritTracks(track) async {
try {
var response = await http.delete(
Uri.parse("https://api.spotify.com/v1/me/tracks?ids=$track"),
headers: {HttpHeaders.authorizationHeader: authToken},
);
return response;
} catch (e) {
log(e.toString());
}
}
getTrack(id) async {
try {
var response = await http.get(
Uri.parse("https://api.spotify.com/v1/tracks/$id"),
headers: {HttpHeaders.authorizationHeader: authToken},
);
return response;
} catch (e) {
log(e.toString());
}
}
getGenres() async {
try {
var response = await http.get(
Uri.parse(
"https://api.spotify.com/v1/recommendations/available-genre-seeds"),
headers: {HttpHeaders.authorizationHeader: authToken},
);
return response;
} catch (e) {
log(e.toString());
}
}
getAlbum(id) async {
try {
var response = await http.get(
Uri.parse("https://api.spotify.com/v1/albums/$id"),
headers: {HttpHeaders.authorizationHeader: authToken},
);
return response;
} catch (e) {
log(e.toString());
}
}
getAlbumTracks(id) async {
try {
var response = await http.get(
Uri.parse("https://api.spotify.com/v1/albums/$id/tracks"),
headers: {HttpHeaders.authorizationHeader: authToken},
);
return response;
} catch (e) {
log(e.toString());
}
}
getArtist(id) async {
try {
var response = await http.get(
Uri.parse("https://api.spotify.com/v1/artists/$id"),
headers: {HttpHeaders.authorizationHeader: authToken},
);
return response;
} catch (e) {
log(e.toString());
}
}
getArtistTopTracks(id) async {
try {
var response = await http.get(
Uri.parse("https://api.spotify.com/v1/artists/$id/top-tracks"),
headers: {HttpHeaders.authorizationHeader: authToken},
);
return response;
} catch (e) {
log(e.toString());
}
}
getArtistAlbums(id) async {
try {
var response = await http.get(
Uri.parse("https://api.spotify.com/v1/artists/$id/albums"),
headers: {HttpHeaders.authorizationHeader: authToken},
);
return response;
} catch (e) {
log(e.toString());
}
}
}
......@@ -74,6 +74,20 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "5.0.6"
http:
dependency: "direct main"
description:
name: http
url: "https://pub.dartlang.org"
source: hosted
version: "0.13.5"
http_parser:
dependency: transitive
description:
name: http_parser
url: "https://pub.dartlang.org"
source: hosted
version: "4.0.2"
lints:
dependency: transitive
description:
......@@ -156,6 +170,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "0.4.12"
typed_data:
dependency: transitive
description:
name: typed_data
url: "https://pub.dartlang.org"
source: hosted
version: "1.3.1"
vector_math:
dependency: transitive
description:
......
......@@ -37,6 +37,7 @@ dependencies:
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^1.0.2
google_nav_bar: ^5.0.6
http: ^0.13.5
dev_dependencies:
flutter_test:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment