mirror of
https://github.com/Sarsoo/Spotify.NET.git
synced 2024-12-28 16:56:27 +00:00
156 lines
5.5 KiB
Markdown
156 lines
5.5 KiB
Markdown
# Getting started
|
|
|
|
This API provides full access to the new SpotifyWebAPI introduced [here](https://developer.spotify.com/web-api/).
|
|
With it, you can search for Tracks/Albums/Artists and also get User-based information.
|
|
It's also possible to create new playlists and add tracks to it.
|
|
|
|
---
|
|
|
|
## First steps
|
|
|
|
**Imports**
|
|
So after you added the API to your project, you may want to add following imports to your files:
|
|
|
|
```cs
|
|
using SpotifyAPI.Web; //Base Namespace
|
|
using SpotifyAPI.Web.Auth; //All Authentication-related classes
|
|
using SpotifyAPI.Web.Enums; //Enums
|
|
using SpotifyAPI.Web.Models; //Models for the JSON-responses
|
|
```
|
|
|
|
**Basic-Usage**
|
|
Now you can actually start doing calls to the SpotifyAPI, just create a new Instance of SpotifyWebAPI:
|
|
```cs
|
|
private static SpotifyWebAPI _spotify;
|
|
|
|
public static void Main(String[] args)
|
|
{
|
|
_spotify = new SpotifyWebAPI()
|
|
{
|
|
UseAuth = false, //This will disable Authentication.
|
|
}
|
|
FullTrack track = _spotify.GetTrack("3Hvu1pq89D4R0lyPBoujSv");
|
|
Console.WriteLine(track.Name); //Yeay! We just printed a tracks name.
|
|
//...
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## Authentication
|
|
If you look through the available API-Methods, you will soon notice nearly all of them require Authentication.
|
|
Further infos on how to implement Authentication can be found [here](/SpotifyWebAPI/auth)
|
|
|
|
---
|
|
|
|
## Examples
|
|
A list of small examples can be found [here](/SpotifyWebAPI/examples). Do you think a specific example is missing? Feel free to open a PR/Issue!
|
|
|
|
---
|
|
|
|
## Error-Handling
|
|
Every API-Call returns a reponse-model which consists of base-error model. To check if a specific API-Call was successful, use the following approach:
|
|
```cs
|
|
PrivateProfile profile = _spotify.GetPrivateProfile();
|
|
if (profile.HasError())
|
|
{
|
|
Console.WriteLine("Error Status: " + profile.Error.Status);
|
|
Console.WriteLine("Error Msg: " + profile.Error.Message);
|
|
}
|
|
```
|
|
|
|
## Asynchronous
|
|
Every API-Call now has an asynchronous method. Just append `Async` to the Method-Name.
|
|
Example:
|
|
```cs
|
|
public async void Test()
|
|
{
|
|
var profile = await _spotify.GetPrivateProfileAsync();
|
|
Console.WriteLine(profile.DisplayName);
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## API-Reference
|
|
|
|
### Albums
|
|
* [GetAlbumTracks](/SpotifyWebAPI/albums#getalbumtracks)
|
|
* [GetAlbum](/SpotifyWebAPI/albums#getalbum)
|
|
* [GetSeveralAlbums](/SpotifyWebAPI/albums#getseveralalbums)
|
|
|
|
### Artists
|
|
* [GetArtist](/SpotifyWebAPI/artists#getartist)
|
|
* [GetRelatedArtists](/SpotifyWebAPI/artists#getrelatedartists)
|
|
* [GetArtistsTopTracks](/SpotifyWebAPI/artists#getartiststoptracks)
|
|
* [GetArtistsAlbums](/SpotifyWebAPI/artists#getartistsalbums)
|
|
* [GetSeveralArtists](/SpotifyWebAPI/artists#getseveralartists)
|
|
|
|
### Browse
|
|
* [GetFeaturedPlaylists](/SpotifyWebAPI/browse#getfeaturedplaylists)
|
|
* [GetNewAlbumReleases](/SpotifyWebAPI/browse#getnewalbumreleases)
|
|
* [GetCategories](/SpotifyWebAPI/browse#getcategories)
|
|
* [GetCategory](/SpotifyWebAPI/browse#getcategory)
|
|
* [GetCategoryPlaylists](/SpotifyWebAPI/browse#getcategoryplaylists)
|
|
|
|
### Follow
|
|
* [Follow](/SpotifyWebAPI/follow#follow)
|
|
* [Unfollow](/SpotifyWebAPI/follow#unfollow)
|
|
* [IsFollowing](/SpotifyWebAPI/follow#isfollowing)
|
|
* [FollowPlaylist](/SpotifyWebAPI/follow#followplaylist)
|
|
* [UnfollowPlaylist](/SpotifyWebAPI/follow#unfollowplaylist)
|
|
* [IsFollowingPlaylist](/SpotifyWebAPI/follow#isfollowingplaylist)
|
|
|
|
### Library
|
|
* [SaveTracks](/SpotifyWebAPI/library#savetracks)
|
|
* [SaveTrack](/SpotifyWebAPI/library#savetrack)
|
|
* [GetSavedTracks](/SpotifyWebAPI/library#getsavedtracks)
|
|
* [RemoveSavedTracks](/SpotifyWebAPI/library#removesavedtracks)
|
|
* [CheckSavedTracks](/SpotifyWebAPI/library#checksavedtracks)
|
|
* [SaveAlbums](/SpotifyWebAPI/library#savealbums)
|
|
* [SaveAlbum](/SpotifyWebAPI/library#savealbum)
|
|
* [GetSavedAlbums](/SpotifyWebAPI/library#getsavedalbums)
|
|
* [RemoveSavedAlbums](/SpotifyWebAPI/library#removesavedalbums)
|
|
* [CheckSavedAlbums](/SpotifyWebAPI/library#checksavedalbums)
|
|
|
|
### Player
|
|
|
|
* [GetDevices](/SpotifyWebAPI/player#getdevices)
|
|
* [GetPlayback](/SpotifyWebAPI/player#getplayback)
|
|
* [GetPlayingTrack](/SpotifyWebAPI/player#getplayingtrack)
|
|
* [TransferPlayback](/SpotifyWebAPI/player#transferplayback)
|
|
* [ResumePlayback](/SpotifyWebAPI/player#resumeplayback)
|
|
* [PausePlayback](/SpotifyWebAPI/player#pauseplayback)
|
|
* [SkipPlaybackToNext](/SpotifyWebAPI/player#skipplaybacktonext)
|
|
* [SkipPlaybackToPrevious](/SpotifyWebAPI/player#skipplaybacktoprevious)
|
|
* [SetRepeatMode](/SpotifyWebAPI/player#setrepeatmode)
|
|
* [SetVolume](/SpotifyWebAPI/player#setvolume)
|
|
* [SetShuffle](/SpotifyWebAPI/player#setshuffle)
|
|
|
|
### Playlists
|
|
* [GetUserPlaylists](/SpotifyWebAPI/playlists#getuserplaylists)
|
|
* [GetPlaylist](/SpotifyWebAPI/playlists#getplaylist)
|
|
* [GetPlaylistTracks](/SpotifyWebAPI/playlists#getplaylisttracks)
|
|
* [CreatePlaylist](/SpotifyWebAPI/playlists#createplaylist)
|
|
* [UpdatePlaylist](/SpotifyWebAPI/playlists#updateplaylist)
|
|
* [ReplacePlaylistTracks](/SpotifyWebAPI/playlists#replaceplaylisttracks)
|
|
* [RemovePlaylistTracks](/SpotifyWebAPI/playlists#removeplaylisttracks)
|
|
* [RemovePlaylistTrack](/SpotifyWebAPI/playlists#removeplaylisttrack)
|
|
* [AddPlaylistTracks](/SpotifyWebAPI/playlists#addplaylisttracks)
|
|
* [AddPlaylistTrack](/SpotifyWebAPI/playlists#addplaylisttrack)
|
|
* [ReorderPlaylist](/SpotifyWebAPI/playlists#reorderplaylist)
|
|
|
|
### Profiles
|
|
* [GetPublicProfile](/SpotifyWebAPI/profiles#getpublicprofile)
|
|
* [GetPrivateProfile](/SpotifyWebAPI/profiles#getprivateprofile)
|
|
|
|
### Search
|
|
* [SearchItems](/SpotifyWebAPI/search#searchitems)
|
|
|
|
### Tracks
|
|
* [GetSeveralTracks](/SpotifyWebAPI/tracks#getseveraltracks)
|
|
* [GetTrack](/SpotifyWebAPI/tracks#gettrack)
|
|
|
|
### Util
|
|
* [Utility-Functions](/SpotifyWebAPI/util)
|