2020-03-09 19:47:39 +00:00
|
|
|
using System;
|
2019-11-12 14:02:30 +00:00
|
|
|
using System.Threading.Tasks;
|
2018-08-24 13:10:13 +01:00
|
|
|
|
2019-11-12 14:02:30 +00:00
|
|
|
namespace SpotifyAPI.Web.Examples.CLI
|
2018-08-24 13:10:13 +01:00
|
|
|
{
|
2020-03-09 19:47:39 +00:00
|
|
|
internal static class Program
|
|
|
|
{
|
2020-05-02 12:04:26 +01:00
|
|
|
// private static string _clientId = ""; //"";
|
|
|
|
// private static string _secretId = ""; //"";
|
2020-03-09 19:47:39 +00:00
|
|
|
|
|
|
|
// ReSharper disable once UnusedParameter.Local
|
2020-05-02 12:04:26 +01:00
|
|
|
// public static void Main(string[] args)
|
|
|
|
// {
|
|
|
|
// _clientId = string.IsNullOrEmpty(_clientId) ?
|
|
|
|
// Environment.GetEnvironmentVariable("SPOTIFY_CLIENT_ID") :
|
|
|
|
// _clientId;
|
2018-08-24 13:10:13 +01:00
|
|
|
|
2020-05-02 12:04:26 +01:00
|
|
|
// _secretId = string.IsNullOrEmpty(_secretId) ?
|
|
|
|
// Environment.GetEnvironmentVariable("SPOTIFY_SECRET_ID") :
|
|
|
|
// _secretId;
|
2018-08-24 13:10:13 +01:00
|
|
|
|
2020-05-02 12:04:26 +01:00
|
|
|
// Console.WriteLine("####### Spotify API Example #######");
|
|
|
|
// Console.WriteLine("This example uses AuthorizationCodeAuth.");
|
|
|
|
// Console.WriteLine(
|
|
|
|
// "Tip: If you want to supply your ClientID and SecretId beforehand, use env variables (SPOTIFY_CLIENT_ID and SPOTIFY_SECRET_ID)");
|
2018-08-24 13:10:13 +01:00
|
|
|
|
2020-05-02 12:04:26 +01:00
|
|
|
// var auth =
|
|
|
|
// new AuthorizationCodeAuth(_clientId, _secretId, "http://localhost:4002", "http://localhost:4002",
|
|
|
|
// Scope.PlaylistReadPrivate | Scope.PlaylistReadCollaborative);
|
|
|
|
// auth.AuthReceived += AuthOnAuthReceived;
|
|
|
|
// auth.Start();
|
|
|
|
// auth.OpenBrowser();
|
2018-12-22 20:15:29 +00:00
|
|
|
|
2020-05-02 12:04:26 +01:00
|
|
|
// Console.ReadLine();
|
|
|
|
// auth.Stop(0);
|
2018-12-22 20:15:29 +00:00
|
|
|
|
2020-05-02 12:04:26 +01:00
|
|
|
// }
|
2019-08-16 23:40:04 +01:00
|
|
|
|
2020-05-02 12:04:26 +01:00
|
|
|
// private static async void AuthOnAuthReceived(object sender, AuthorizationCode payload)
|
|
|
|
// {
|
|
|
|
// var auth = (AuthorizationCodeAuth)sender;
|
|
|
|
// auth.Stop();
|
2018-08-24 13:10:13 +01:00
|
|
|
|
2020-05-02 12:04:26 +01:00
|
|
|
// Token token = await auth.ExchangeCode(payload.Code);
|
|
|
|
// var api = new SpotifyWebAPI
|
|
|
|
// {
|
|
|
|
// AccessToken = token.AccessToken,
|
|
|
|
// TokenType = token.TokenType
|
|
|
|
// };
|
|
|
|
// await PrintUsefulData(api);
|
|
|
|
// }
|
2018-08-24 13:10:13 +01:00
|
|
|
|
2020-05-02 12:04:26 +01:00
|
|
|
// private static async Task PrintAllPlaylistTracks(SpotifyWebAPI api, Paging<SimplePlaylist> playlists)
|
|
|
|
// {
|
|
|
|
// if (playlists.Items == null) return;
|
2018-08-24 13:10:13 +01:00
|
|
|
|
2020-05-02 12:04:26 +01:00
|
|
|
// playlists.Items.ForEach(playlist => Console.WriteLine($"- {playlist.Name}"));
|
|
|
|
// if (playlists.HasNextPage())
|
|
|
|
// await PrintAllPlaylistTracks(api, await api.GetNextPageAsync(playlists));
|
|
|
|
// }
|
2019-11-12 14:02:30 +00:00
|
|
|
|
2020-05-02 12:04:26 +01:00
|
|
|
// private static async Task PrintUsefulData(SpotifyWebAPI api)
|
|
|
|
// {
|
|
|
|
// PrivateProfile profile = await api.GetPrivateProfileAsync();
|
|
|
|
// string name = string.IsNullOrEmpty(profile.DisplayName) ? profile.Id : profile.DisplayName;
|
|
|
|
// Console.WriteLine($"Hello there, {name}!");
|
2018-08-24 13:10:13 +01:00
|
|
|
|
2020-05-02 12:04:26 +01:00
|
|
|
// Console.WriteLine("Your playlists:");
|
|
|
|
// await PrintAllPlaylistTracks(api, api.GetUserPlaylists(profile.Id));
|
|
|
|
// }
|
2020-03-09 19:47:39 +00:00
|
|
|
}
|
2020-05-02 12:04:26 +01:00
|
|
|
}
|