Built docs | AppVeyor Build 232

This commit is contained in:
AppVeyor Doc Generation 2017-10-27 15:24:42 +00:00
parent 70b0ebae07
commit bbba1af2da
24 changed files with 20 additions and 6291 deletions

View File

@ -1,318 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="author" content="JohnnyCrazy">
<link rel="shortcut icon" href="../img/favicon.ico">
<title>SpotifyLocalAPI - SpotifyAPI-NET</title>
<link href="../css/bootstrap-custom.min.css" rel="stylesheet">
<link href="../css/font-awesome-4.0.3.css" rel="stylesheet">
<link href="../css/prettify-1.0.css" rel="stylesheet">
<link href="../css/base.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.6/styles/agate.min.css">
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<!-- Collapsed navigation -->
<div class="navbar-header">
<!-- Expander button -->
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<!-- Main title -->
<a class="navbar-brand" href="..">SpotifyAPI-NET</a>
</div>
<!-- Expanded navigation -->
<div class="navbar-collapse collapse">
<!-- Main navigation -->
<ul class="nav navbar-nav">
<li >
<a href="..">Home</a>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">SpotifyWebAPI <b class="caret"></b></a>
<ul class="dropdown-menu">
<li >
<a href="../SpotifyWebAPI/gettingstarted/">Getting started</a>
</li>
<li >
<a href="../SpotifyWebAPI/examples/">Examples</a>
</li>
<li >
<a href="../SpotifyWebAPI/auth/">Authentication</a>
</li>
<li >
<a href="../SpotifyWebAPI/albums/">- Albums</a>
</li>
<li >
<a href="../SpotifyWebAPI/artists/">- Artists</a>
</li>
<li >
<a href="../SpotifyWebAPI/browse/">- Browse</a>
</li>
<li >
<a href="../SpotifyWebAPI/follow/">- Follow</a>
</li>
<li >
<a href="../SpotifyWebAPI/library/">- Library</a>
</li>
<li >
<a href="../SpotifyWebAPI/player/">- Player</a>
</li>
<li >
<a href="../SpotifyWebAPI/playlists/">- Playlists</a>
</li>
<li >
<a href="../SpotifyWebAPI/profiles/">- Profiles</a>
</li>
<li >
<a href="../SpotifyWebAPI/search/">- Search</a>
</li>
<li >
<a href="../SpotifyWebAPI/tracks/">- Tracks</a>
</li>
<li >
<a href="../SpotifyWebAPI/util/">- Util</a>
</li>
</ul>
</li>
<li class="active">
<a href="./">SpotifyLocalAPI</a>
</li>
</ul>
<!-- Search, Navigation and Repo links -->
<ul class="nav navbar-nav navbar-right">
<li >
<a rel="next" href="../SpotifyWebAPI/util/">
<i class="fa fa-arrow-left"></i> Previous
</a>
</li>
<li class="disabled">
<a rel="prev" >
Next <i class="fa fa-arrow-right"></i>
</a>
</li>
<li>
<a href="https://github.com/JohnnyCrazy/SpotifyAPI-NET">
<i class="fa fa-github"></i>
GitHub
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="container">
<div class="col-md-3"><div class="bs-sidebar hidden-print affix well" role="complementary" style="height=90%;">
<ul class="nav bs-sidenav">
<li class="main active"><a href="#getting-started">Getting started</a></li>
<li><a href="#first-steps">First steps</a></li>
<li><a href="#configuration">Configuration</a></li>
<li><a href="#anti-virus-blocking-response">Anti-Virus Blocking Response</a></li>
<li><a href="#client-status">Client Status</a></li>
<li><a href="#current-track">Current Track</a></li>
<li><a href="#events">Events</a></li>
<li><a href="#methods">Methods</a></li>
</ul>
</div></div>
<div class="col-md-9" role="main">
<h1 id="getting-started">Getting started</h1>
<p>This API provides some access to the local running Spotify-Client (Windows only).<br />
You can fetch details for the current track, play/pause, skip/previous track and
get notified on various events.</p>
<p><strong>NOTE:</strong> This API is unofficial, things may brake in the future and there is no
guarantee everything works out of the box.</p>
<hr />
<h2 id="first-steps">First steps</h2>
<p><strong>Imports</strong><br />
So after you added the API to your project, you may want to add following imports to your files:</p>
<pre><code class="cs">using SpotifyAPI.Local; //Base Namespace
using SpotifyAPI.Local.Enums; //Enums
using SpotifyAPI.Local.Models; //Models for the JSON-responses
</code></pre>
<p><strong>Basic-Usage</strong><br />
Now you can actually start fetching infos from your spotify client, just create a new Instance of SpotifyLocalAPI:</p>
<pre><code class="cs">private static SpotifyLocalAPI _spotify;
public static void Main(String[] args)
{
_spotify = new SpotifyLocalAPI();
if (!SpotifyLocalAPI.IsSpotifyRunning())
return; //Make sure the spotify client is running
if (!SpotifyLocalAPI.IsSpotifyWebHelperRunning())
return; //Make sure the WebHelper is running
if(!_spotify.Connect())
return; //We need to call Connect before fetching infos, this will handle Auth stuff
StatusResponse status = _spotify.GetStatus(); //status contains infos
}
</code></pre>
<h2 id="configuration">Configuration</h2>
<p>Different spotify versions often require different configuration. Some versions run their web-helper on port <code>4371</code>, others on <code>4381</code>. Also, some use <code>https</code>, and others use <code>http</code>. You can use <code>SpotifyLocalAPIConfig</code> to configure the API:</p>
<pre><code class="cs">_spotify = new SpotifyLocalAPI(new SpotifyLocalAPIConfig
{
Port = 4371,
HostUrl = &quot;https://127.0.0.1&quot;
});
</code></pre>
<h2 id="anti-virus-blocking-response">Anti-Virus Blocking Response</h2>
<p>Some Anti-Virus Software blocks the response from spotify due wrong headers.
Currently, it's confirmed for AVG's LinkScanner and Bitdefender.
Adding <code>http://SpotifyAPI.spotilocal.com:4380</code> to the URL-Exceptions seems to fix it for most users.
More infos can be found <a href="https://github.com/JohnnyCrazy/SpotifyAPI-NET/issues/51">here</a></p>
<h2 id="client-status">Client Status</h2>
<p>Calling <code>_spotify.GetStatus()</code> after connecting returns the following <code>StatusResponse</code>:</p>
<pre><code>public int Version { get; set; }
public string ClientVersion { get; set; }
public bool Playing { get; set; }
public bool Shuffle { get; set; }
public bool Repeat { get; set; }
public bool PlayEnabled { get; set; }
public bool PrevEnabled { get; set; }
public bool NextEnabled { get; set; }
public Track Track { get; set; }
public double PlayingPosition { get; set; }
public int ServerTime { get; set; }
public double Volume { get; set; }
public bool Online { get; set; }
public bool Running { get; set; }
</code></pre>
<p>Most of the properties are self-explanatory, some notes:</p>
<ul>
<li><code>Shuffle</code> and <code>Repeat</code> currently always return <code>false</code></li>
</ul>
<h2 id="current-track">Current Track</h2>
<p>The current Track can be fetched via <code>_spotify.GetStatus().Track</code> and contains following properties/methods:</p>
<ul>
<li><code>TrackResource</code> - <code>SpotifyResource</code> which contains Track <code>Name</code> and <code>Uri</code></li>
<li><code>AlbumResource</code> - <code>SpotifyResource</code> which contains Album <code>Name</code> and <code>Uri</code></li>
<li><code>ArtistResource</code> - <code>SpotifyResource</code> which contains Artist <code>Name</code> and <code>Uri</code> (Only the main artist will be listed)</li>
<li><code>IsAd()</code> will check whether the current track is an AD</li>
<li>Various methods for getting the album art:</li>
<li><code>string GetAlbumArtUrl(AlbumArtSize size)</code></li>
<li><code>Task&lt;Bitmap&gt; GetAlbumArtAsync(AlbumArtSize size)</code></li>
<li><code>Bitmap GetAlbumArt(AlbumArtSize size)</code></li>
<li><code>Task&lt;byte[]&gt; GetAlbumArtAsByteArrayAsync(AlbumArtSize size)</code></li>
<li><code>byte[] GetAlbumArtAsByteArray(AlbumArtSize size)</code></li>
</ul>
<h2 id="events">Events</h2>
<p>To receive events, make sure you listen for them <code>_spotify.ListenForEvents = true;</code><br />
You can set a <code>SynchronizingObject</code>, then the events will be called on the specific context</p>
<p>Following events can be overriden:</p>
<ul>
<li><code>OnPlayStateChange</code> - triggers when the player changes from <code>play</code> to <code>pause</code> and vice versa</li>
<li><code>OnTrackChange</code> - triggers when a new track will be played</li>
<li><code>OnTrackTimeChange</code> - triggers when a track is playing and track-time changes</li>
<li><code>OnVolumeChange</code> - triggeres when the internal volume of spotify changes</li>
</ul>
<h2 id="methods">Methods</h2>
<p>Furthermore, following methods are available:</p>
<ul>
<li><code>void Mute()</code> - will mute the Spotify client via WindowsAPI</li>
<li><code>void UnMute()</code> - will unmute the Spotify client via WindowsAPI</li>
<li><code>bool IsSpotifyMuted()</code> - will return wether the Spotify client is muted</li>
<li><code>void SetSpotifyVolume(float volume = 100)</code> - sets the windows volume of spotify (0 - 100)</li>
<li><code>float GetSpotifyVolume()</code> - returns the windows volume of spotify (0 - 100)</li>
<li><code>void Pause()</code> - will pause spotify's playback</li>
<li><code>void Play()</code> - will resume spotify's playback</li>
<li><code>void PlayURL(string uri, string context = "")</code> - will play a spotify URI (track/album/playlist) in the specifc context (can be a album/playlist URI)</li>
<li><code>void Skip()</code> - will skip the track via an emulated media key</li>
<li><code>void Previous()</code> - will play the previous track via an emulated media key</li>
<li><code>bool IsSpotifyRunning()</code> - returns true if a spotify client instance is running, false if not</li>
<li><code>bool IsSpotifyWebHelperRunning()</code> - returns true if a spotify web-helper instance is running, false if not</li>
<li><code>void RunSpotify()</code> - will attempt to start a Spotify instance</li>
<li><code>void RunSpotifyWebHelper()</code> - will attempt to start a Spotify web-helper instance</li>
</ul></div>
</div>
<script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="../js/bootstrap-3.0.3.min.js"></script>
<script src="../js/base.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js"></script>
<script src="../highlight.js"></script>
</body>
</html>

View File

@ -1,295 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="author" content="JohnnyCrazy">
<link rel="shortcut icon" href="../../img/favicon.ico">
<title>- Albums - SpotifyAPI-NET</title>
<link href="../../css/bootstrap-custom.min.css" rel="stylesheet">
<link href="../../css/font-awesome-4.0.3.css" rel="stylesheet">
<link href="../../css/prettify-1.0.css" rel="stylesheet">
<link href="../../css/base.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.6/styles/agate.min.css">
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<!-- Collapsed navigation -->
<div class="navbar-header">
<!-- Expander button -->
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<!-- Main title -->
<a class="navbar-brand" href="../..">SpotifyAPI-NET</a>
</div>
<!-- Expanded navigation -->
<div class="navbar-collapse collapse">
<!-- Main navigation -->
<ul class="nav navbar-nav">
<li >
<a href="../..">Home</a>
</li>
<li class="dropdown active">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">SpotifyWebAPI <b class="caret"></b></a>
<ul class="dropdown-menu">
<li >
<a href="../gettingstarted/">Getting started</a>
</li>
<li >
<a href="../examples/">Examples</a>
</li>
<li >
<a href="../auth/">Authentication</a>
</li>
<li class="active">
<a href="./">- Albums</a>
</li>
<li >
<a href="../artists/">- Artists</a>
</li>
<li >
<a href="../browse/">- Browse</a>
</li>
<li >
<a href="../follow/">- Follow</a>
</li>
<li >
<a href="../library/">- Library</a>
</li>
<li >
<a href="../player/">- Player</a>
</li>
<li >
<a href="../playlists/">- Playlists</a>
</li>
<li >
<a href="../profiles/">- Profiles</a>
</li>
<li >
<a href="../search/">- Search</a>
</li>
<li >
<a href="../tracks/">- Tracks</a>
</li>
<li >
<a href="../util/">- Util</a>
</li>
</ul>
</li>
<li >
<a href="../../SpotifyLocalAPI/">SpotifyLocalAPI</a>
</li>
</ul>
<!-- Search, Navigation and Repo links -->
<ul class="nav navbar-nav navbar-right">
<li >
<a rel="next" href="../auth/">
<i class="fa fa-arrow-left"></i> Previous
</a>
</li>
<li >
<a rel="prev" href="../artists/">
Next <i class="fa fa-arrow-right"></i>
</a>
</li>
<li>
<a href="https://github.com/JohnnyCrazy/SpotifyAPI-NET">
<i class="fa fa-github"></i>
GitHub
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="container">
<div class="col-md-3"><div class="bs-sidebar hidden-print affix well" role="complementary" style="height=90%;">
<ul class="nav bs-sidenav">
<li class="main active"><a href="#getalbumtracks">GetAlbumTracks</a></li>
<li class="main "><a href="#getalbum">GetAlbum</a></li>
<li class="main "><a href="#getseveralalbums">GetSeveralAlbums</a></li>
</ul>
</div></div>
<div class="col-md-9" role="main">
<h2 id="getalbumtracks">GetAlbumTracks</h2>
<blockquote>
<p>Get Spotify catalog information about an album's tracks. Optional parameters can be used to limit the number of tracks returned.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>id</td>
<td>The Spotify ID for the album.</td>
<td><code>"5O7V8l4SeXTymVp3IesT9C"</code></td>
</tr>
<tr>
<td>[limit]</td>
<td>The maximum number of items to return. Default: 20. Minimum: 1. Maximum: 50.</td>
<td><code>20</code></td>
</tr>
<tr>
<td>[offset]</td>
<td>The index of the first track to return. Default: 0 (the first object).</td>
<td><code>0</code></td>
</tr>
<tr>
<td>[market]</td>
<td>An ISO 3166-1 alpha-2 country code. Provide this parameter if you want to apply Track Relinking.</td>
<td><code>"DE"</code></td>
</tr>
</tbody>
</table>
<p>Returns a <a href="https://developer.spotify.com/web-api/object-model/#track-object-simplified">SimpleTrack</a> wrapped inside a <a href="https://developer.spotify.com/web-api/object-model/#paging-object">Paging-object</a></p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">Paging&lt;SimpleTrack&gt; tracks = _spotify.GetAlbumTracks(&quot;5O7V8l4SeXTymVp3IesT9C&quot;);
tracks.Items.ForEach(item =&gt; Console.WriteLine(item.Name)); //Display all fetched Track-Names (max 20)
Console.WriteLine(tracks.Total.ToString()) //Display total album track count
</code></pre>
<hr />
<h2 id="getalbum">GetAlbum</h2>
<blockquote>
<p>Get Spotify catalog information for a single album.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>id</td>
<td>The Spotify ID for the album.</td>
<td><code>5O7V8l4SeXTymVp3IesT9C</code></td>
</tr>
<tr>
<td>[market]</td>
<td>An ISO 3166-1 alpha-2 country code. Provide this parameter if you want to apply Track Relinking.</td>
<td><code>"DE"</code></td>
</tr>
</tbody>
</table>
<p>Returns a <a href="https://developer.spotify.com/web-api/object-model/#album-object-full">FullAlbum</a></p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">FullAlbum album = _spotify.GetAlbum(&quot;5O7V8l4SeXTymVp3IesT9C&quot;);
Console.WriteLine(album.Name + &quot;| Popularity: &quot; + album.Popularity); //Display name and Popularity
</code></pre>
<hr />
<h2 id="getseveralalbums">GetSeveralAlbums</h2>
<blockquote>
<p>Get Spotify catalog information for multiple albums identified by their Spotify IDs.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>ids</td>
<td>A list of the Spotify IDs for the albums. Maximum: 20 IDs.</td>
<td><code>new List&lt;String&gt;() { "5O7V8l4SeXTymVp3IesT9C" }</code></td>
</tr>
<tr>
<td>[market]</td>
<td>An ISO 3166-1 alpha-2 country code. Provide this parameter if you want to apply Track Relinking.</td>
<td><code>"DE"</code></td>
</tr>
</tbody>
</table>
<p>Returns a <strong>SeveralAlbums</strong> which Property "Albums" contains a list of <a href="https://developer.spotify.com/web-api/object-model/#album-object-full">FullAlbum</a></p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">SeveralAlbums albums = _spotify.GetSeveralAlbums(new List&lt;String&gt;() { &quot;5O7V8l4SeXTymVp3IesT9C&quot; });
Console.WriteLine(albums.Albums[0].Name);
</code></pre>
<hr /></div>
</div>
<script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="../../js/bootstrap-3.0.3.min.js"></script>
<script src="../../js/base.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js"></script>
<script src="../../highlight.js"></script>
</body>
</html>

View File

@ -1,356 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="author" content="JohnnyCrazy">
<link rel="shortcut icon" href="../../img/favicon.ico">
<title>- Artists - SpotifyAPI-NET</title>
<link href="../../css/bootstrap-custom.min.css" rel="stylesheet">
<link href="../../css/font-awesome-4.0.3.css" rel="stylesheet">
<link href="../../css/prettify-1.0.css" rel="stylesheet">
<link href="../../css/base.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.6/styles/agate.min.css">
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<!-- Collapsed navigation -->
<div class="navbar-header">
<!-- Expander button -->
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<!-- Main title -->
<a class="navbar-brand" href="../..">SpotifyAPI-NET</a>
</div>
<!-- Expanded navigation -->
<div class="navbar-collapse collapse">
<!-- Main navigation -->
<ul class="nav navbar-nav">
<li >
<a href="../..">Home</a>
</li>
<li class="dropdown active">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">SpotifyWebAPI <b class="caret"></b></a>
<ul class="dropdown-menu">
<li >
<a href="../gettingstarted/">Getting started</a>
</li>
<li >
<a href="../examples/">Examples</a>
</li>
<li >
<a href="../auth/">Authentication</a>
</li>
<li >
<a href="../albums/">- Albums</a>
</li>
<li class="active">
<a href="./">- Artists</a>
</li>
<li >
<a href="../browse/">- Browse</a>
</li>
<li >
<a href="../follow/">- Follow</a>
</li>
<li >
<a href="../library/">- Library</a>
</li>
<li >
<a href="../player/">- Player</a>
</li>
<li >
<a href="../playlists/">- Playlists</a>
</li>
<li >
<a href="../profiles/">- Profiles</a>
</li>
<li >
<a href="../search/">- Search</a>
</li>
<li >
<a href="../tracks/">- Tracks</a>
</li>
<li >
<a href="../util/">- Util</a>
</li>
</ul>
</li>
<li >
<a href="../../SpotifyLocalAPI/">SpotifyLocalAPI</a>
</li>
</ul>
<!-- Search, Navigation and Repo links -->
<ul class="nav navbar-nav navbar-right">
<li >
<a rel="next" href="../albums/">
<i class="fa fa-arrow-left"></i> Previous
</a>
</li>
<li >
<a rel="prev" href="../browse/">
Next <i class="fa fa-arrow-right"></i>
</a>
</li>
<li>
<a href="https://github.com/JohnnyCrazy/SpotifyAPI-NET">
<i class="fa fa-github"></i>
GitHub
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="container">
<div class="col-md-3"><div class="bs-sidebar hidden-print affix well" role="complementary" style="height=90%;">
<ul class="nav bs-sidenav">
<li class="main active"><a href="#getartist">GetArtist</a></li>
<li class="main "><a href="#getrelatedartists">GetRelatedArtists</a></li>
<li class="main "><a href="#getartiststoptracks">GetArtistsTopTracks</a></li>
<li class="main "><a href="#getartistsalbums">GetArtistsAlbums</a></li>
<li class="main "><a href="#getseveralartists">GetSeveralArtists</a></li>
</ul>
</div></div>
<div class="col-md-9" role="main">
<h2 id="getartist">GetArtist</h2>
<blockquote>
<p>Get Spotify catalog information for a single artist identified by their unique Spotify ID.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>id</td>
<td>The Spotify ID for the artist.</td>
<td><code>"1KpCi9BOfviCVhmpI4G2sY"</code></td>
</tr>
</tbody>
</table>
<p>Returns a <a href="https://developer.spotify.com/web-api/object-model/#artist-object-full">FullArtist</a></p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">FullArtist artist = _spotify.GetArtist(&quot;1KpCi9BOfviCVhmpI4G2sY&quot;);
Console.WriteLine()
</code></pre>
<hr />
<h2 id="getrelatedartists">GetRelatedArtists</h2>
<blockquote>
<p>Get Spotify catalog information about artists similar to a given artist. Similarity is based on analysis of the Spotify community's listening history.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>id</td>
<td>The Spotify ID for the artist.</td>
<td><code>"1KpCi9BOfviCVhmpI4G2sY"</code></td>
</tr>
</tbody>
</table>
<p>Returns a <strong>SeveralArtists</strong> object which contains the property <code>List&lt;FullArtist&gt; Artists</code> (<a href="https://developer.spotify.com/web-api/object-model/#artist-object-full">FullArtist</a>)</p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">SeveralArtists artists = _spotify.GetRelatedArtists(&quot;1KpCi9BOfviCVhmpI4G2sY&quot;);
Console.WriteLine(artists.Artists[0].Name);
</code></pre>
<hr />
<h2 id="getartiststoptracks">GetArtistsTopTracks</h2>
<blockquote>
<p>Get Spotify catalog information about an artist's top tracks by country.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>id</td>
<td>The Spotify ID for the artist.</td>
<td><code>"1KpCi9BOfviCVhmpI4G2sY"</code></td>
</tr>
<tr>
<td>country</td>
<td>The country: an ISO 3166-1 alpha-2 country code.</td>
<td><code>"DE"</code></td>
</tr>
</tbody>
</table>
<p>Returns a <strong>SeveralTracks</strong> object which contains the property <code>List&lt;FullTrack&gt; Tracks</code> (<a href="https://developer.spotify.com/web-api/object-model/#track-object-full">FullTrack</a>)</p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">SeveralTracks tracks = _spotify.GetArtistsTopTracks(&quot;1KpCi9BOfviCVhmpI4G2sY&quot;, &quot;DE&quot;);
Console.WriteLine(tracks.Tracks.Count); //How many tracks did we get?
</code></pre>
<hr />
<h2 id="getartistsalbums">GetArtistsAlbums</h2>
<blockquote>
<p>Get Spotify catalog information about an artist's albums. Optional parameters can be specified in the query string to filter and sort the response.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>id</td>
<td>The Spotify ID for the artist.</td>
<td><code>"1KpCi9BOfviCVhmpI4G2sY"</code></td>
</tr>
<tr>
<td>[type]</td>
<td>A list of keywords that will be used to filter the response. If not supplied, all album types will be returned</td>
<td><code>AlbumType.All</code></td>
</tr>
<tr>
<td>[limit]</td>
<td>The maximum number of items to return. Default: 20. Minimum: 1. Maximum: 50.</td>
<td><code>20</code></td>
</tr>
<tr>
<td>[offset]</td>
<td>The index of the first album to return. Default: 0</td>
<td><code>0</code></td>
</tr>
<tr>
<td>[market]</td>
<td>An ISO 3166-1 alpha-2 country code. Supply this parameter to limit the response to one particular geographical market</td>
<td><code>"DE"</code></td>
</tr>
</tbody>
</table>
<p>Returns a <a href="https://developer.spotify.com/web-api/object-model/#album-object-simplified">SimpleAlbum</a> wrapped inside a <a href="https://developer.spotify.com/web-api/object-model/#paging-object">Paging-object</a></p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">Paging&lt;SimpleAlbum&gt; albums = _spotify.GetArtistsAlbums(&quot;1KpCi9BOfviCVhmpI4G2sY&quot;, AlbumType.All);
albums.Items.ForEach(album =&gt; Console.WriteLine(album.Name));
</code></pre>
<hr />
<h2 id="getseveralartists">GetSeveralArtists</h2>
<blockquote>
<p>Get Spotify catalog information for several artists based on their Spotify IDs.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>ids</td>
<td>A list of the Spotify IDs for the artists. Maximum: 50 IDs.</td>
<td><code>new List&lt;String&gt;() { "1KpCi9BOfviCVhmpI4G2sY" }</code></td>
</tr>
</tbody>
</table>
<p>Returns a <strong>SeveralArtists</strong> object which contains the property <code>List&lt;FullArtist&gt; Artists</code> (<a href="https://developer.spotify.com/web-api/object-model/#artist-object-full">FullArtist</a>)</p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">SeveralArtists artists = _spotify.GetSeveralArtists(new List&lt;String&gt;() {&quot;1KpCi9BOfviCVhmpI4G2sY&quot;});
artists.Artists.ForEach(artist =&gt; Console.WriteLine(artist.Name));
</code></pre>
<hr /></div>
</div>
<script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="../../js/bootstrap-3.0.3.min.js"></script>
<script src="../../js/base.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js"></script>
<script src="../../highlight.js"></script>
</body>
</html>

View File

@ -1,366 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="author" content="JohnnyCrazy">
<link rel="shortcut icon" href="../../img/favicon.ico">
<title>Authentication - SpotifyAPI-NET</title>
<link href="../../css/bootstrap-custom.min.css" rel="stylesheet">
<link href="../../css/font-awesome-4.0.3.css" rel="stylesheet">
<link href="../../css/prettify-1.0.css" rel="stylesheet">
<link href="../../css/base.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.6/styles/agate.min.css">
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<!-- Collapsed navigation -->
<div class="navbar-header">
<!-- Expander button -->
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<!-- Main title -->
<a class="navbar-brand" href="../..">SpotifyAPI-NET</a>
</div>
<!-- Expanded navigation -->
<div class="navbar-collapse collapse">
<!-- Main navigation -->
<ul class="nav navbar-nav">
<li >
<a href="../..">Home</a>
</li>
<li class="dropdown active">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">SpotifyWebAPI <b class="caret"></b></a>
<ul class="dropdown-menu">
<li >
<a href="../gettingstarted/">Getting started</a>
</li>
<li >
<a href="../examples/">Examples</a>
</li>
<li class="active">
<a href="./">Authentication</a>
</li>
<li >
<a href="../albums/">- Albums</a>
</li>
<li >
<a href="../artists/">- Artists</a>
</li>
<li >
<a href="../browse/">- Browse</a>
</li>
<li >
<a href="../follow/">- Follow</a>
</li>
<li >
<a href="../library/">- Library</a>
</li>
<li >
<a href="../player/">- Player</a>
</li>
<li >
<a href="../playlists/">- Playlists</a>
</li>
<li >
<a href="../profiles/">- Profiles</a>
</li>
<li >
<a href="../search/">- Search</a>
</li>
<li >
<a href="../tracks/">- Tracks</a>
</li>
<li >
<a href="../util/">- Util</a>
</li>
</ul>
</li>
<li >
<a href="../../SpotifyLocalAPI/">SpotifyLocalAPI</a>
</li>
</ul>
<!-- Search, Navigation and Repo links -->
<ul class="nav navbar-nav navbar-right">
<li >
<a rel="next" href="../examples/">
<i class="fa fa-arrow-left"></i> Previous
</a>
</li>
<li >
<a rel="prev" href="../albums/">
Next <i class="fa fa-arrow-right"></i>
</a>
</li>
<li>
<a href="https://github.com/JohnnyCrazy/SpotifyAPI-NET">
<i class="fa fa-github"></i>
GitHub
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="container">
<div class="col-md-3"><div class="bs-sidebar hidden-print affix well" role="complementary" style="height=90%;">
<ul class="nav bs-sidenav">
<li class="main active"><a href="#auth-methods">Auth-Methods</a></li>
<li><a href="#implicitgrantauth">ImplicitGrantAuth</a></li>
<li><a href="#autorizationcodeauth">AutorizationCodeAuth</a></li>
<li><a href="#clientcredentialsauth">ClientCredentialsAuth</a></li>
<li class="main "><a href="#scopes">Scopes</a></li>
</ul>
</div></div>
<div class="col-md-9" role="main">
<h1 id="auth-methods">Auth-Methods</h1>
<p>Before you can use the Web API full functional, you need the user to authenticate your Application.<br />
If you want to know more, you can read to the whole auth-process <a href="https://developer.spotify.com/web-api/authorization-guide/">here</a>.</p>
<p>Before you start, you need to create a Application at Spotify: <a href="https://developer.spotify.com/my-applications/#!/applications">Your Applications</a></p>
<hr />
<p>After you created your Application, you will have following important values: </p>
<blockquote>
<p><strong>Client_Id</strong> This is your client_id, you don't have to hide it<br />
<strong>Client_Secret</strong> Never use this in one of your client-side apps!! Keep it secret!<br />
<strong>Redirect URIs</strong> Add "http://localhost", if you want full support for this API </p>
</blockquote>
<p>Now you can start with the User-authentication, Spotify provides 3 ways:</p>
<ul>
<li>
<p><a href="../../SpotifyWebAPI/auth#implicitgrantauth">ImplicitGrantAuth</a> (<strong>Recommended</strong>, no server-side code needed) </p>
</li>
<li>
<p><a href="../../SpotifyWebAPI/auth#autorizationcodeauth">AutorizationCodeAuth</a> (Not Recommended, Server-side code needed, else it's unsecure)</p>
</li>
<li>
<p><a href="../../SpotifyWebAPI/auth#clientcredentialsauth">ClientCredentialsAuth</a> (Not Recommended, Server-side code needed, else it's unsecure) </p>
</li>
</ul>
<p><strong>Note:</strong> I would recommend a little PHP Script, which will exchange the Keys using AutorizationCodeAuth.
When using ImplicitGrantAuth, another user could abuse the "localhost" RedirectUri by creating a "fake"-app which uses your ClientId.</p>
<p>Overview:
<img alt="Overview" src="http://i.imgur.com/uf3ahTl.png" /></p>
<p>After implementing one of the provided auth-methods, you can start doing requests with the token you get from one of the auth-methods</p>
<h2 id="implicitgrantauth">ImplicitGrantAuth</h2>
<p>This way is <strong>recommended</strong> and the only auth-process, which does not need a server-side exchange of keys. With this approach, you directly get a Token object after the user authed your application.
You won't be able to refresh the token. If you want to use the internal Http server, please add "http://localhost" to your application redirects.</p>
<p>More info: <a href="https://developer.spotify.com/web-api/authorization-guide/#implicit_grant_flow">here</a></p>
<p>For this kind of authentication, there is also a <code>WebAPIFactory</code>, it's easier to use and uses an async method:</p>
<pre><code>static async void Main(string[] args)
{
WebAPIFactory webApiFactory = new WebAPIFactory(
&quot;http://localhost&quot;,
8000,
&quot;XXXXXXXXXXXXXXXX&quot;,
Scope.UserReadPrivate,
TimeSpan.FromSeconds(20)
);
try
{
//This will open the user's browser and returns once
//the user is authorized.
_spotify = await webApiFactory.GetWebApi();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
if (_spotify == null)
return;
}
</code></pre>
<p>The old way:</p>
<pre><code>static ImplicitGrantAuth auth;
static void Main(string[] args)
{
//Create the auth object
auth = new ImplicitGrantAuth()
{
//Your client Id
ClientId = &quot;XXXXXXXXXXXXXXXX&quot;,
//Set this to localhost if you want to use the built-in HTTP Server
RedirectUri = &quot;http://localhost&quot;,
//How many permissions we need?
Scope = Scope.UserReadPrivate,
};
//Start the internal http server
auth.StartHttpServer();
//When we got our response
auth.OnResponseReceivedEvent += auth_OnResponseReceivedEvent;
//Start
auth.DoAuth();
}
static void auth_OnResponseReceivedEvent(Token token, string state, string error)
{
var spotify = new SpotifyWebApiClass()
{
TokenType = token.TokenType,
AccessToken = token.AccessToken
};
//We can now make calls with the token object
//stop the http server
auth.StopHttpServer();
}
</code></pre>
<h2 id="autorizationcodeauth">AutorizationCodeAuth</h2>
<p>This way is <strong>not recommended</strong> and requires server-side code to run securely.<br />
With this approach, you first get a code which you need to trade against the access-token.<br />
In this exchange you need to provide your Client-Secret and because of that it's not recommended.<br />
(But you can e.g exchange to codes via a PHP Script)<br />
A good thing about this method: You can always refresh your token, without having the user to auth it again</p>
<p>More info: <a href="https://developer.spotify.com/web-api/authorization-guide/#authorization_code_flow">here</a></p>
<pre><code>static AutorizationCodeAuth auth;
static void Main(string[] args)
{
//Create the auth object
auth = new AutorizationCodeAuth()
{
//Your client Id
ClientId = &quot;XXXXXXXXXXXXXXX&quot;,
//Set this to localhost if you want to use the built-in HTTP Server
RedirectUri = &quot;http://localhost&quot;,
//How many permissions we need?
Scope = Scope.UserReadPrivate,
};
//This will be called, if the user cancled/accept the auth-request
auth.OnResponseReceivedEvent += auth_OnResponseReceivedEvent;
//a local HTTP Server will be started (Needed for the response)
auth.StartHttpServer();
//This will open the spotify auth-page. The user can decline/accept the request
auth.DoAuth();
Thread.Sleep(60000);
auth.StopHttpServer();
Console.WriteLine(&quot;Too long, didnt respond, exiting now...&quot;);
}
private static void auth_OnResponseReceivedEvent(AutorizationCodeAuthResponse response)
{
//NEVER DO THIS! You would need to provide the ClientSecret.
//You would need to do it e.g via a PHP-Script.
Token token = auth.ExchangeAuthCode(response.Code, &quot;XXXXXXXXXXX&quot;);
var spotify = new SpotifyWebApiClass()
{
TokenType = token.TokenType,
AccessToken = token.AccessToken
};
//With the token object, you can now make API calls
//Stop the HTTP Server, done.
auth.StopHttpServer();
}
</code></pre>
<h2 id="clientcredentialsauth">ClientCredentialsAuth</h2>
<p>This way is <strong>not recommended</strong> and requires server-side code to run securely.<br />
With this approach, you make a POST Request with a base64 encoded string (consists of ClientId + ClientSecret). You will directly get the token (Without a local HTTP Server), but it will expire and can't be refreshed.<br />
If you want to use it securely, you would need to do it all server-side.<br />
<strong>NOTE:</strong> You will only be able to query non-user-related information e.g search for a Track.</p>
<p>More info: <a href="https://developer.spotify.com/web-api/authorization-guide/#client_credentials_flow">here</a></p>
<pre><code>static ClientCredentialsAuth auth;
static void Main(string[] args)
{
//Create the auth object
auth = new ClientCredentialsAuth()
{
//Your client Id
ClientId = &quot;XXXXXXXXXXXXXXX&quot;,
//Your client secret UNSECURE!!
ClientSecret = &quot;XXXXXXXXXXXX&quot;,
//How many permissions we need?
Scope = Scope.UserReadPrivate,
};
//With this token object, we now can make calls
Token token = auth.DoAuth();
var spotify = new SpotifyWebApiClass()
{
TokenType = token.TokenType,
AccessToken = token.AccessToken,
UseAuth = false
};
}
</code></pre>
<h1 id="scopes">Scopes</h1></div>
</div>
<script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="../../js/bootstrap-3.0.3.min.js"></script>
<script src="../../js/base.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js"></script>
<script src="../../highlight.js"></script>
</body>
</html>

View File

@ -1,407 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="author" content="JohnnyCrazy">
<link rel="shortcut icon" href="../../img/favicon.ico">
<title>- Browse - SpotifyAPI-NET</title>
<link href="../../css/bootstrap-custom.min.css" rel="stylesheet">
<link href="../../css/font-awesome-4.0.3.css" rel="stylesheet">
<link href="../../css/prettify-1.0.css" rel="stylesheet">
<link href="../../css/base.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.6/styles/agate.min.css">
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<!-- Collapsed navigation -->
<div class="navbar-header">
<!-- Expander button -->
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<!-- Main title -->
<a class="navbar-brand" href="../..">SpotifyAPI-NET</a>
</div>
<!-- Expanded navigation -->
<div class="navbar-collapse collapse">
<!-- Main navigation -->
<ul class="nav navbar-nav">
<li >
<a href="../..">Home</a>
</li>
<li class="dropdown active">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">SpotifyWebAPI <b class="caret"></b></a>
<ul class="dropdown-menu">
<li >
<a href="../gettingstarted/">Getting started</a>
</li>
<li >
<a href="../examples/">Examples</a>
</li>
<li >
<a href="../auth/">Authentication</a>
</li>
<li >
<a href="../albums/">- Albums</a>
</li>
<li >
<a href="../artists/">- Artists</a>
</li>
<li class="active">
<a href="./">- Browse</a>
</li>
<li >
<a href="../follow/">- Follow</a>
</li>
<li >
<a href="../library/">- Library</a>
</li>
<li >
<a href="../player/">- Player</a>
</li>
<li >
<a href="../playlists/">- Playlists</a>
</li>
<li >
<a href="../profiles/">- Profiles</a>
</li>
<li >
<a href="../search/">- Search</a>
</li>
<li >
<a href="../tracks/">- Tracks</a>
</li>
<li >
<a href="../util/">- Util</a>
</li>
</ul>
</li>
<li >
<a href="../../SpotifyLocalAPI/">SpotifyLocalAPI</a>
</li>
</ul>
<!-- Search, Navigation and Repo links -->
<ul class="nav navbar-nav navbar-right">
<li >
<a rel="next" href="../artists/">
<i class="fa fa-arrow-left"></i> Previous
</a>
</li>
<li >
<a rel="prev" href="../follow/">
Next <i class="fa fa-arrow-right"></i>
</a>
</li>
<li>
<a href="https://github.com/JohnnyCrazy/SpotifyAPI-NET">
<i class="fa fa-github"></i>
GitHub
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="container">
<div class="col-md-3"><div class="bs-sidebar hidden-print affix well" role="complementary" style="height=90%;">
<ul class="nav bs-sidenav">
<li class="main active"><a href="#getfeaturedplaylists">GetFeaturedPlaylists</a></li>
<li class="main "><a href="#getnewalbumreleases">GetNewAlbumReleases</a></li>
<li class="main "><a href="#getcategories">GetCategories</a></li>
<li class="main "><a href="#getcategory">GetCategory</a></li>
<li class="main "><a href="#getcategoryplaylists">GetCategoryPlaylists</a></li>
</ul>
</div></div>
<div class="col-md-9" role="main">
<h2 id="getfeaturedplaylists">GetFeaturedPlaylists</h2>
<p><span class="label label-warning">AUTH REQUIRED</span></p>
<blockquote>
<p>Get a list of Spotify featured playlists (shown, for example, on a Spotify players “Browse” tab).</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>[locale]</td>
<td>The desired language, consisting of a lowercase ISO 639 language code and an uppercase ISO 3166-1 alpha-2 country code, joined by an underscore.</td>
<td><code>"de_DE" //Germany</code></td>
</tr>
<tr>
<td>[country]</td>
<td>A country: an ISO 3166-1 alpha-2 country code.</td>
<td><code>"DE"</code></td>
</tr>
<tr>
<td>[timestamp]</td>
<td>A timestamp in ISO 8601 format</td>
<td><code>DateTime.Now</code></td>
</tr>
<tr>
<td>[limit]</td>
<td>The maximum number of items to return. Default: 20. Minimum: 1. Maximum: 50.</td>
<td><code>20</code></td>
</tr>
<tr>
<td>[offset]</td>
<td>The index of the first item to return. Default: 0</td>
<td><code>0</code></td>
</tr>
</tbody>
</table>
<p>Returns a <strong>FeaturedPlaylists</strong> object, which has 2 properties. <code>String Message</code> and <code>Paging&lt;SimplePlaylist&gt; Playlists</code></p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">FeaturedPlaylists playlists = _spotify.GetFeaturedPlaylists();
Console.WriteLine(playlists.Message);
playlists.Playlists.Items.ForEach(playlist =&gt; Console.WriteLine(playlist.Name));
</code></pre>
<hr />
<h2 id="getnewalbumreleases">GetNewAlbumReleases</h2>
<p><span class="label label-warning">AUTH REQUIRED</span></p>
<blockquote>
<p>Get a list of new album releases featured in Spotify (shown, for example, on a Spotify players “Browse” tab).</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>[country]</td>
<td>A country: an ISO 3166-1 alpha-2 country code.</td>
<td><code>"DE"</code></td>
</tr>
<tr>
<td>[limit]</td>
<td>The maximum number of items to return. Default: 20. Minimum: 1. Maximum: 50.</td>
<td><code>20</code></td>
</tr>
<tr>
<td>[offset]</td>
<td>The index of the first item to return. Default: 0</td>
<td><code>0</code></td>
</tr>
</tbody>
</table>
<p>Returns a <strong>NewAlbumReleases</strong> object, which has the property <code>Paging&lt;SimpleAlbum&gt; Albums</code>.</p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">NewAlbumReleases newAlbums = _spotify.GetNewAlbumReleases();
newAlbums.Albums.Items.ForEach(album =&gt; Console.WriteLine(album.Name));
</code></pre>
<hr />
<h2 id="getcategories">GetCategories</h2>
<p><span class="label label-warning">AUTH REQUIRED</span></p>
<blockquote>
<p>Get a list of categories used to tag items in Spotify (on, for example, the Spotify players “Browse” tab).</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>[country]</td>
<td>A country: an ISO 3166-1 alpha-2 country code. Provide this parameter if you want to narrow the list of returned categories to those relevant to a particular country</td>
<td><code>"DE"</code></td>
</tr>
<tr>
<td>[locale]</td>
<td>The desired language, consisting of an ISO 639 language code and an ISO 3166-1 alpha-2 country code, joined by an underscore</td>
<td><code>"de_DE"</code></td>
</tr>
<tr>
<td>[limit]</td>
<td>The maximum number of categories to return. Default: 20. Minimum: 1. Maximum: 50.</td>
<td><code>20</code></td>
</tr>
<tr>
<td>[offset]</td>
<td>The index of the first item to return. Default: 0 (the first object).</td>
<td><code>0</code></td>
</tr>
</tbody>
</table>
<p>Returns a <strong>CategoryList</strong> object, which has the property <code>Paging&lt;Category&gt; Categories</code>.</p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">CategoryList categoryList = _spotify.GetCategories();
categoryList.Categories.Items.ForEach(category =&gt; Console.WriteLine(category.Name));
</code></pre>
<hr />
<h2 id="getcategory">GetCategory</h2>
<p><span class="label label-warning">AUTH REQUIRED</span></p>
<blockquote>
<p>Get a single category used to tag items in Spotify (on, for example, the Spotify players “Browse” tab).</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>categoryId</td>
<td>The Spotify category ID for the category.</td>
<td><code>"party"</code></td>
</tr>
<tr>
<td>[country]</td>
<td>A country: an ISO 3166-1 alpha-2 country code. Provide this parameter to ensure that the category exists for a particular country.</td>
<td><code>"DE"</code></td>
</tr>
<tr>
<td>[locale]</td>
<td>The desired language, consisting of an ISO 639 language code and an ISO 3166-1 alpha-2 country code, joined by an underscore</td>
<td><code>"de_DE"</code></td>
</tr>
</tbody>
</table>
<p>Returns a <a href="https://developer.spotify.com/web-api/object-model/#category-object">Category</a></p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">Category cat = _spotify.GetCategory(&quot;party&quot;);
Console.WriteLine(cat.Name);
</code></pre>
<hr />
<h2 id="getcategoryplaylists">GetCategoryPlaylists</h2>
<p><span class="label label-warning">AUTH REQUIRED</span></p>
<blockquote>
<p>Get a list of Spotify playlists tagged with a particular category.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>categoryId</td>
<td>The Spotify category ID for the category.</td>
<td><code>"party"</code></td>
</tr>
<tr>
<td>[country]</td>
<td>A country: an ISO 3166-1 alpha-2 country code.</td>
<td><code>"DE"</code></td>
</tr>
<tr>
<td>[limit]</td>
<td>The maximum number of items to return. Default: 20. Minimum: 1. Maximum: 50.</td>
<td><code>20</code></td>
</tr>
<tr>
<td>[offset]</td>
<td>The index of the first item to return. Default: 0</td>
<td><code>0</code></td>
</tr>
</tbody>
</table>
<p>Returns a <strong>CategoryPlaylist</strong> object, which has the property <code>Paging&lt;SimplePlaylist&gt; Playlists</code></p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">CategoryPlaylist playlists = _spotify.GetCategoryPlaylists(&quot;party&quot;);
playlists.Playlists.Items.ForEach(playlist =&gt; Console.WriteLine(playlist.Name));
</code></pre>
<hr /></div>
</div>
<script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="../../js/bootstrap-3.0.3.min.js"></script>
<script src="../../js/base.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js"></script>
<script src="../../highlight.js"></script>
</body>
</html>

View File

@ -1,177 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="author" content="JohnnyCrazy">
<link rel="shortcut icon" href="../../img/favicon.ico">
<title>Examples - SpotifyAPI-NET</title>
<link href="../../css/bootstrap-custom.min.css" rel="stylesheet">
<link href="../../css/font-awesome-4.0.3.css" rel="stylesheet">
<link href="../../css/prettify-1.0.css" rel="stylesheet">
<link href="../../css/base.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.6/styles/agate.min.css">
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<!-- Collapsed navigation -->
<div class="navbar-header">
<!-- Expander button -->
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<!-- Main title -->
<a class="navbar-brand" href="../..">SpotifyAPI-NET</a>
</div>
<!-- Expanded navigation -->
<div class="navbar-collapse collapse">
<!-- Main navigation -->
<ul class="nav navbar-nav">
<li >
<a href="../..">Home</a>
</li>
<li class="dropdown active">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">SpotifyWebAPI <b class="caret"></b></a>
<ul class="dropdown-menu">
<li >
<a href="../gettingstarted/">Getting started</a>
</li>
<li class="active">
<a href="./">Examples</a>
</li>
<li >
<a href="../auth/">Authentication</a>
</li>
<li >
<a href="../albums/">- Albums</a>
</li>
<li >
<a href="../artists/">- Artists</a>
</li>
<li >
<a href="../browse/">- Browse</a>
</li>
<li >
<a href="../follow/">- Follow</a>
</li>
<li >
<a href="../library/">- Library</a>
</li>
<li >
<a href="../player/">- Player</a>
</li>
<li >
<a href="../playlists/">- Playlists</a>
</li>
<li >
<a href="../profiles/">- Profiles</a>
</li>
<li >
<a href="../search/">- Search</a>
</li>
<li >
<a href="../tracks/">- Tracks</a>
</li>
<li >
<a href="../util/">- Util</a>
</li>
</ul>
</li>
<li >
<a href="../../SpotifyLocalAPI/">SpotifyLocalAPI</a>
</li>
</ul>
<!-- Search, Navigation and Repo links -->
<ul class="nav navbar-nav navbar-right">
<li >
<a rel="next" href="../gettingstarted/">
<i class="fa fa-arrow-left"></i> Previous
</a>
</li>
<li >
<a rel="prev" href="../auth/">
Next <i class="fa fa-arrow-right"></i>
</a>
</li>
<li>
<a href="https://github.com/JohnnyCrazy/SpotifyAPI-NET">
<i class="fa fa-github"></i>
GitHub
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="container">
<div class="col-md-3"><div class="bs-sidebar hidden-print affix well" role="complementary" style="height=90%;">
<ul class="nav bs-sidenav">
</ul>
</div></div>
<div class="col-md-9" role="main">
</div>
</div>
<script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="../../js/bootstrap-3.0.3.min.js"></script>
<script src="../../js/base.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js"></script>
<script src="../../highlight.js"></script>
</body>
</html>

View File

@ -1,414 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="author" content="JohnnyCrazy">
<link rel="shortcut icon" href="../../img/favicon.ico">
<title>- Follow - SpotifyAPI-NET</title>
<link href="../../css/bootstrap-custom.min.css" rel="stylesheet">
<link href="../../css/font-awesome-4.0.3.css" rel="stylesheet">
<link href="../../css/prettify-1.0.css" rel="stylesheet">
<link href="../../css/base.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.6/styles/agate.min.css">
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<!-- Collapsed navigation -->
<div class="navbar-header">
<!-- Expander button -->
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<!-- Main title -->
<a class="navbar-brand" href="../..">SpotifyAPI-NET</a>
</div>
<!-- Expanded navigation -->
<div class="navbar-collapse collapse">
<!-- Main navigation -->
<ul class="nav navbar-nav">
<li >
<a href="../..">Home</a>
</li>
<li class="dropdown active">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">SpotifyWebAPI <b class="caret"></b></a>
<ul class="dropdown-menu">
<li >
<a href="../gettingstarted/">Getting started</a>
</li>
<li >
<a href="../examples/">Examples</a>
</li>
<li >
<a href="../auth/">Authentication</a>
</li>
<li >
<a href="../albums/">- Albums</a>
</li>
<li >
<a href="../artists/">- Artists</a>
</li>
<li >
<a href="../browse/">- Browse</a>
</li>
<li class="active">
<a href="./">- Follow</a>
</li>
<li >
<a href="../library/">- Library</a>
</li>
<li >
<a href="../player/">- Player</a>
</li>
<li >
<a href="../playlists/">- Playlists</a>
</li>
<li >
<a href="../profiles/">- Profiles</a>
</li>
<li >
<a href="../search/">- Search</a>
</li>
<li >
<a href="../tracks/">- Tracks</a>
</li>
<li >
<a href="../util/">- Util</a>
</li>
</ul>
</li>
<li >
<a href="../../SpotifyLocalAPI/">SpotifyLocalAPI</a>
</li>
</ul>
<!-- Search, Navigation and Repo links -->
<ul class="nav navbar-nav navbar-right">
<li >
<a rel="next" href="../browse/">
<i class="fa fa-arrow-left"></i> Previous
</a>
</li>
<li >
<a rel="prev" href="../library/">
Next <i class="fa fa-arrow-right"></i>
</a>
</li>
<li>
<a href="https://github.com/JohnnyCrazy/SpotifyAPI-NET">
<i class="fa fa-github"></i>
GitHub
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="container">
<div class="col-md-3"><div class="bs-sidebar hidden-print affix well" role="complementary" style="height=90%;">
<ul class="nav bs-sidenav">
<li class="main active"><a href="#follow">Follow</a></li>
<li class="main "><a href="#unfollow">Unfollow</a></li>
<li class="main "><a href="#isfollowing">IsFollowing</a></li>
<li class="main "><a href="#followplaylist">FollowPlaylist</a></li>
<li class="main "><a href="#unfollowplaylist">UnfollowPlaylist</a></li>
<li class="main "><a href="#isfollowingplaylist">IsFollowingPlaylist</a></li>
</ul>
</div></div>
<div class="col-md-9" role="main">
<h2 id="follow">Follow</h2>
<p><span class="label label-warning">AUTH REQUIRED</span></p>
<blockquote>
<p>Add the current user as a follower of one or more artists or other Spotify users.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>followType</td>
<td>The ID type: either artist or user.</td>
<td><code>FollowType.Artist</code></td>
</tr>
<tr>
<td>ids or id</td>
<td>A list of the artist or the user Spotify IDs or just a Spotify ID</td>
<td><code>new List&lt;String&gt; { "1KpCi9BOfviCVhmpI4G2sY" }</code> or <code>"1KpCi9BOfviCVhmpI4G2sY"</code></td>
</tr>
</tbody>
</table>
<p>Returns a <strong>ErrorResponse</strong> which just contains a possible error. (<code>response.HasError()</code> and <code>response.Error</code>)</p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">ErrorResponse response = _spotify.Follow(FollowType.Artist, &quot;1KpCi9BOfviCVhmpI4G2sY&quot;);
//or if it's a User
ErrorResponse response = _spotify.Follow(FollowType.User, &quot;1122095781&quot;);
</code></pre>
<hr />
<h2 id="unfollow">Unfollow</h2>
<p><span class="label label-warning">AUTH REQUIRED</span></p>
<blockquote>
<p>Remove the current user as a follower of one or more artists or other Spotify users.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>followType</td>
<td>The ID type: either artist or user.</td>
<td><code>FollowType.Artist</code></td>
</tr>
<tr>
<td>ids or id</td>
<td>A list of the artist or the user Spotify IDs or just a Spotify ID</td>
<td><code>new List&lt;String&gt; { "1KpCi9BOfviCVhmpI4G2sY" }</code> or <code>"1KpCi9BOfviCVhmpI4G2sY"</code></td>
</tr>
</tbody>
</table>
<p>Returns a <strong>ErrorResponse</strong> which just contains a possible error. (<code>response.HasError()</code> and <code>response.Error</code>)</p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">ErrorResponse response = _spotify.Unfollow(FollowType.Artist, &quot;1KpCi9BOfviCVhmpI4G2sY&quot;);
//or if it's a User
ErrorResponse response = _spotify.Unfollow(FollowType.User, &quot;1122095781&quot;);
</code></pre>
<hr />
<h2 id="isfollowing">IsFollowing</h2>
<p><span class="label label-warning">AUTH REQUIRED</span></p>
<blockquote>
<p>Check to see if the current user is following one or more artists or other Spotify users.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>followType</td>
<td>The ID type: either artist or user.</td>
<td><code>FollowType.Artist</code></td>
</tr>
<tr>
<td>ids or id</td>
<td>A list of the artist or the user Spotify IDs or just a Spotify ID</td>
<td><code>new List&lt;String&gt; { "1KpCi9BOfviCVhmpI4G2sY" }</code> or <code>"1KpCi9BOfviCVhmpI4G2sY"</code></td>
</tr>
</tbody>
</table>
<p>Returns a <strong>ListResponse<Boolean></strong> which contains the property <code>List&lt;Boolean&gt; List</code></p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">//Are you one of my Followers? :P
ListResponse&lt;Boolean&gt; response = _spotify.IsFollowing(FollowType.User, &quot;1122095781&quot;);
Console.WriteLine(response.List[0] ? &quot;Yis!&quot; : &quot;No :(&quot;);
</code></pre>
<hr />
<h2 id="followplaylist">FollowPlaylist</h2>
<p><span class="label label-warning">AUTH REQUIRED</span></p>
<blockquote>
<p>Add the current user as a follower of a playlist.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>ownerId</td>
<td>The Spotify user ID of the person who owns the playlist.</td>
<td><code>"maxloermans"</code></td>
</tr>
<tr>
<td>playlistId</td>
<td>The Spotify ID of the playlist. Any playlist can be followed, regardless of its public/private status, as long as you know its playlist ID.</td>
<td><code>"3SIp2VAsKI03mReF0dFBmI"</code></td>
</tr>
<tr>
<td>[showPublic]</td>
<td>If true the playlist will be included in user's public playlists, if false it will remain private.</td>
<td><code>true</code></td>
</tr>
</tbody>
</table>
<p>Returns a <strong>ErrorResponse</strong> which just contains a possible error. (<code>response.HasError()</code> and <code>response.Error</code>)</p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">ErrorResponse response = _spotify.FollowPlaylist(&quot;maxloermans&quot;, &quot;3SIp2VAsKI03mReF0dFBmI&quot;);
if(!response.HasError())
Console.WriteLine(&quot;success&quot;);
</code></pre>
<hr />
<h2 id="unfollowplaylist">UnfollowPlaylist</h2>
<p><span class="label label-warning">AUTH REQUIRED</span></p>
<blockquote>
<p>Remove the current user as a follower of a playlist.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>ownerId</td>
<td>The Spotify user ID of the person who owns the playlist.</td>
<td><code>"maxloermans"</code></td>
</tr>
<tr>
<td>playlistId</td>
<td>The Spotify ID of the playlist that is to be no longer followed.</td>
<td><code>"3SIp2VAsKI03mReF0dFBmI"</code></td>
</tr>
</tbody>
</table>
<p>Returns a <strong>ErrorResponse</strong> which just contains a possible error. (<code>response.HasError()</code> and <code>response.Error</code>)</p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">ErrorResponse response = _spotify.UnfollowPlaylist(&quot;maxloermans&quot;, &quot;3SIp2VAsKI03mReF0dFBmI&quot;);
if(!response.HasError())
Console.WriteLine(&quot;success&quot;);
</code></pre>
<hr />
<h2 id="isfollowingplaylist">IsFollowingPlaylist</h2>
<p><span class="label label-warning">AUTH REQUIRED</span></p>
<blockquote>
<p>Check to see if one or more Spotify users are following a specified playlist.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>ownerId</td>
<td>The Spotify user ID of the person who owns the playlist.</td>
<td><code>"maxloermans"</code></td>
</tr>
<tr>
<td>playlistId</td>
<td>The Spotify ID of the playlist.</td>
<td><code>"3SIp2VAsKI03mReF0dFBmI"</code></td>
</tr>
<tr>
<td>ids or id</td>
<td>A list of the artist or the user Spotify IDs or just a Spotify ID</td>
<td><code>new List&lt;String&gt; { "1KpCi9BOfviCVhmpI4G2sY" }</code> or <code>"1KpCi9BOfviCVhmpI4G2sY"</code></td>
</tr>
</tbody>
</table>
<p>Returns a <strong>ListResponse<Boolean></strong> which contains the property <code>List&lt;Boolean&gt; List</code></p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">//Am I following the playlist?
ListResponse&lt;Boolean&gt; response = _spotify.IsFollowing(&quot;maxloermans&quot;, &quot;3SIp2VAsKI03mReF0dFBmI&quot;, &quot;1122095781&quot;);
Console.WriteLine(response.List[0] ? &quot;Yis!&quot; : &quot;No :(&quot;);
</code></pre>
<hr /></div>
</div>
<script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="../../js/bootstrap-3.0.3.min.js"></script>
<script src="../../js/base.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js"></script>
<script src="../../highlight.js"></script>
</body>
</html>

View File

@ -1,341 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="author" content="JohnnyCrazy">
<link rel="shortcut icon" href="../../img/favicon.ico">
<title>Getting started - SpotifyAPI-NET</title>
<link href="../../css/bootstrap-custom.min.css" rel="stylesheet">
<link href="../../css/font-awesome-4.0.3.css" rel="stylesheet">
<link href="../../css/prettify-1.0.css" rel="stylesheet">
<link href="../../css/base.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.6/styles/agate.min.css">
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<!-- Collapsed navigation -->
<div class="navbar-header">
<!-- Expander button -->
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<!-- Main title -->
<a class="navbar-brand" href="../..">SpotifyAPI-NET</a>
</div>
<!-- Expanded navigation -->
<div class="navbar-collapse collapse">
<!-- Main navigation -->
<ul class="nav navbar-nav">
<li >
<a href="../..">Home</a>
</li>
<li class="dropdown active">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">SpotifyWebAPI <b class="caret"></b></a>
<ul class="dropdown-menu">
<li class="active">
<a href="./">Getting started</a>
</li>
<li >
<a href="../examples/">Examples</a>
</li>
<li >
<a href="../auth/">Authentication</a>
</li>
<li >
<a href="../albums/">- Albums</a>
</li>
<li >
<a href="../artists/">- Artists</a>
</li>
<li >
<a href="../browse/">- Browse</a>
</li>
<li >
<a href="../follow/">- Follow</a>
</li>
<li >
<a href="../library/">- Library</a>
</li>
<li >
<a href="../player/">- Player</a>
</li>
<li >
<a href="../playlists/">- Playlists</a>
</li>
<li >
<a href="../profiles/">- Profiles</a>
</li>
<li >
<a href="../search/">- Search</a>
</li>
<li >
<a href="../tracks/">- Tracks</a>
</li>
<li >
<a href="../util/">- Util</a>
</li>
</ul>
</li>
<li >
<a href="../../SpotifyLocalAPI/">SpotifyLocalAPI</a>
</li>
</ul>
<!-- Search, Navigation and Repo links -->
<ul class="nav navbar-nav navbar-right">
<li >
<a rel="next" href="../..">
<i class="fa fa-arrow-left"></i> Previous
</a>
</li>
<li >
<a rel="prev" href="../examples/">
Next <i class="fa fa-arrow-right"></i>
</a>
</li>
<li>
<a href="https://github.com/JohnnyCrazy/SpotifyAPI-NET">
<i class="fa fa-github"></i>
GitHub
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="container">
<div class="col-md-3"><div class="bs-sidebar hidden-print affix well" role="complementary" style="height=90%;">
<ul class="nav bs-sidenav">
<li class="main active"><a href="#getting-started">Getting started</a></li>
<li><a href="#first-steps">First steps</a></li>
<li><a href="#authentication">Authentication</a></li>
<li><a href="#examples">Examples</a></li>
<li><a href="#error-handling">Error-Handling</a></li>
<li><a href="#asynchronous">Asynchronous</a></li>
<li><a href="#api-reference">API-Reference</a></li>
</ul>
</div></div>
<div class="col-md-9" role="main">
<h1 id="getting-started">Getting started</h1>
<p>This API provides full access to the new SpotifyWebAPI introduced <a href="https://developer.spotify.com/web-api/">here</a>.<br />
With it, you can search for Tracks/Albums/Artists and also get User-based information.<br />
It's also possible to create new playlists and add tracks to it.</p>
<hr />
<h2 id="first-steps">First steps</h2>
<p><strong>Imports</strong><br />
So after you added the API to your project, you may want to add following imports to your files:</p>
<pre><code class="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
</code></pre>
<p><strong>Basic-Usage</strong><br />
Now you can actually start doing calls to the SpotifyAPI, just create a new Instance of SpotifyWebAPI:</p>
<pre><code class="cs">private static SpotifyWebAPI _spotify;
public static void Main(String[] args)
{
_spotify = new SpotifyWebAPI()
{
UseAuth = false, //This will disable Authentication.
}
FullTrack track = _spotify.GetTrack(&quot;3Hvu1pq89D4R0lyPBoujSv&quot;);
Console.WriteLine(track.Name); //Yeay! We just printed a tracks name.
//...
}
</code></pre>
<hr />
<h2 id="authentication">Authentication</h2>
<p>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 <a href="../../SpotifyWebAPI/auth">here</a></p>
<hr />
<h2 id="examples">Examples</h2>
<p>A list of small examples can be found <a href="../../SpotifyWebAPI/examples">here</a>. Do you think a specific example is missing? Feel free to open a PR/Issue!</p>
<hr />
<h2 id="error-handling">Error-Handling</h2>
<p>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:</p>
<pre><code class="cs">PrivateProfile profile = _spotify.GetPrivateProfile();
if (profile.HasError())
{
Console.WriteLine(&quot;Error Status: &quot; + profile.Error.Status);
Console.WriteLine(&quot;Error Msg: &quot; + profile.Error.Message);
}
</code></pre>
<h2 id="asynchronous">Asynchronous</h2>
<p>Every API-Call now has an asynchronous method. Just append <code>Async</code> to the Method-Name.<br />
Example:</p>
<pre><code class="cs">public async void Test()
{
var profile = await _spotify.GetPrivateProfileAsync();
Console.WriteLine(profile.DisplayName);
}
</code></pre>
<hr />
<h2 id="api-reference">API-Reference</h2>
<h3 id="albums">Albums</h3>
<ul>
<li><a href="../../SpotifyWebAPI/albums#getalbumtracks">GetAlbumTracks</a></li>
<li><a href="../../SpotifyWebAPI/albums#getalbum">GetAlbum</a></li>
<li><a href="../../SpotifyWebAPI/albums#getseveralalbums">GetSeveralAlbums</a></li>
</ul>
<h3 id="artists">Artists</h3>
<ul>
<li><a href="../../SpotifyWebAPI/artists#getartist">GetArtist</a></li>
<li><a href="../../SpotifyWebAPI/artists#getrelatedartists">GetRelatedArtists</a></li>
<li><a href="../../SpotifyWebAPI/artists#getartiststoptracks">GetArtistsTopTracks</a></li>
<li><a href="../../SpotifyWebAPI/artists#getartistsalbums">GetArtistsAlbums</a></li>
<li><a href="../../SpotifyWebAPI/artists#getseveralartists">GetSeveralArtists</a></li>
</ul>
<h3 id="browse">Browse</h3>
<ul>
<li><a href="../../SpotifyWebAPI/browse#getfeaturedplaylists">GetFeaturedPlaylists</a></li>
<li><a href="../../SpotifyWebAPI/browse#getnewalbumreleases">GetNewAlbumReleases</a></li>
<li><a href="../../SpotifyWebAPI/browse#getcategories">GetCategories</a></li>
<li><a href="../../SpotifyWebAPI/browse#getcategory">GetCategory</a></li>
<li><a href="../../SpotifyWebAPI/browse#getcategoryplaylists">GetCategoryPlaylists</a></li>
</ul>
<h3 id="follow">Follow</h3>
<ul>
<li><a href="../../SpotifyWebAPI/follow#follow">Follow</a></li>
<li><a href="../../SpotifyWebAPI/follow#unfollow">Unfollow</a></li>
<li><a href="../../SpotifyWebAPI/follow#isfollowing">IsFollowing</a></li>
<li><a href="../../SpotifyWebAPI/follow#followplaylist">FollowPlaylist</a></li>
<li><a href="../../SpotifyWebAPI/follow#unfollowplaylist">UnfollowPlaylist</a></li>
<li><a href="../../SpotifyWebAPI/follow#isfollowingplaylist">IsFollowingPlaylist</a></li>
</ul>
<h3 id="library">Library</h3>
<ul>
<li><a href="../../SpotifyWebAPI/library#savetracks">SaveTracks</a></li>
<li><a href="../../SpotifyWebAPI/library#savetrack">SaveTrack</a></li>
<li><a href="../../SpotifyWebAPI/library#getsavedtracks">GetSavedTracks</a></li>
<li><a href="../../SpotifyWebAPI/library#removesavedtracks">RemoveSavedTracks</a></li>
<li><a href="../../SpotifyWebAPI/library#checksavedtracks">CheckSavedTracks</a></li>
<li><a href="../../SpotifyWebAPI/library#savealbums">SaveAlbums</a></li>
<li><a href="../../SpotifyWebAPI/library#savealbum">SaveAlbum</a></li>
<li><a href="../../SpotifyWebAPI/library#getsavedalbums">GetSavedAlbums</a></li>
<li><a href="../../SpotifyWebAPI/library#removesavedalbums">RemoveSavedAlbums</a></li>
<li><a href="../../SpotifyWebAPI/library#checksavedalbums">CheckSavedAlbums</a></li>
</ul>
<h3 id="player">Player</h3>
<ul>
<li><a href="../../SpotifyWebAPI/player#getdevices">GetDevices</a></li>
<li><a href="../../SpotifyWebAPI/player#getplayback">GetPlayback</a></li>
<li><a href="../../SpotifyWebAPI/player#getplayingtrack">GetPlayingTrack</a></li>
<li><a href="../../SpotifyWebAPI/player#transferplayback">TransferPlayback</a></li>
<li><a href="../../SpotifyWebAPI/player#resumeplayback">ResumePlayback</a></li>
<li><a href="../../SpotifyWebAPI/player#pauseplayback">PausePlayback</a></li>
<li><a href="../../SpotifyWebAPI/player#skipplaybacktonext">SkipPlaybackToNext</a></li>
<li><a href="../../SpotifyWebAPI/player#skipplaybacktoprevious">SkipPlaybackToPrevious</a></li>
<li><a href="../../SpotifyWebAPI/player#setrepeatmode">SetRepeatMode</a></li>
<li><a href="../../SpotifyWebAPI/player#setvolume">SetVolume</a></li>
<li><a href="../../SpotifyWebAPI/player#setshuffle">SetShuffle</a></li>
</ul>
<h3 id="playlists">Playlists</h3>
<ul>
<li><a href="../../SpotifyWebAPI/playlists#getuserplaylists">GetUserPlaylists</a></li>
<li><a href="../../SpotifyWebAPI/playlists#getplaylist">GetPlaylist</a></li>
<li><a href="../../SpotifyWebAPI/playlists#getplaylisttracks">GetPlaylistTracks</a></li>
<li><a href="../../SpotifyWebAPI/playlists#createplaylist">CreatePlaylist</a></li>
<li><a href="../../SpotifyWebAPI/playlists#updateplaylist">UpdatePlaylist</a></li>
<li><a href="../../SpotifyWebAPI/playlists#replaceplaylisttracks">ReplacePlaylistTracks</a></li>
<li><a href="../../SpotifyWebAPI/playlists#removeplaylisttracks">RemovePlaylistTracks</a></li>
<li><a href="../../SpotifyWebAPI/playlists#removeplaylisttrack">RemovePlaylistTrack</a></li>
<li><a href="../../SpotifyWebAPI/playlists#addplaylisttracks">AddPlaylistTracks</a></li>
<li><a href="../../SpotifyWebAPI/playlists#addplaylisttrack">AddPlaylistTrack</a></li>
<li><a href="../../SpotifyWebAPI/playlists#reorderplaylist">ReorderPlaylist</a></li>
</ul>
<h3 id="profiles">Profiles</h3>
<ul>
<li><a href="../../SpotifyWebAPI/profiles#getpublicprofile">GetPublicProfile</a></li>
<li><a href="../../SpotifyWebAPI/profiles#getprivateprofile">GetPrivateProfile</a></li>
</ul>
<h3 id="search">Search</h3>
<ul>
<li><a href="../../SpotifyWebAPI/search#searchitems">SearchItems</a></li>
</ul>
<h3 id="tracks">Tracks</h3>
<ul>
<li><a href="../../SpotifyWebAPI/tracks#getseveraltracks">GetSeveralTracks</a></li>
<li><a href="../../SpotifyWebAPI/tracks#gettrack">GetTrack</a></li>
</ul>
<h3 id="util">Util</h3>
<ul>
<li><a href="../../SpotifyWebAPI/util">Utility-Functions</a></li>
</ul></div>
</div>
<script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="../../js/bootstrap-3.0.3.min.js"></script>
<script src="../../js/base.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js"></script>
<script src="../../highlight.js"></script>
</body>
</html>

View File

@ -1,524 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="author" content="JohnnyCrazy">
<link rel="shortcut icon" href="../../img/favicon.ico">
<title>- Library - SpotifyAPI-NET</title>
<link href="../../css/bootstrap-custom.min.css" rel="stylesheet">
<link href="../../css/font-awesome-4.0.3.css" rel="stylesheet">
<link href="../../css/prettify-1.0.css" rel="stylesheet">
<link href="../../css/base.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.6/styles/agate.min.css">
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<!-- Collapsed navigation -->
<div class="navbar-header">
<!-- Expander button -->
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<!-- Main title -->
<a class="navbar-brand" href="../..">SpotifyAPI-NET</a>
</div>
<!-- Expanded navigation -->
<div class="navbar-collapse collapse">
<!-- Main navigation -->
<ul class="nav navbar-nav">
<li >
<a href="../..">Home</a>
</li>
<li class="dropdown active">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">SpotifyWebAPI <b class="caret"></b></a>
<ul class="dropdown-menu">
<li >
<a href="../gettingstarted/">Getting started</a>
</li>
<li >
<a href="../examples/">Examples</a>
</li>
<li >
<a href="../auth/">Authentication</a>
</li>
<li >
<a href="../albums/">- Albums</a>
</li>
<li >
<a href="../artists/">- Artists</a>
</li>
<li >
<a href="../browse/">- Browse</a>
</li>
<li >
<a href="../follow/">- Follow</a>
</li>
<li class="active">
<a href="./">- Library</a>
</li>
<li >
<a href="../player/">- Player</a>
</li>
<li >
<a href="../playlists/">- Playlists</a>
</li>
<li >
<a href="../profiles/">- Profiles</a>
</li>
<li >
<a href="../search/">- Search</a>
</li>
<li >
<a href="../tracks/">- Tracks</a>
</li>
<li >
<a href="../util/">- Util</a>
</li>
</ul>
</li>
<li >
<a href="../../SpotifyLocalAPI/">SpotifyLocalAPI</a>
</li>
</ul>
<!-- Search, Navigation and Repo links -->
<ul class="nav navbar-nav navbar-right">
<li >
<a rel="next" href="../follow/">
<i class="fa fa-arrow-left"></i> Previous
</a>
</li>
<li >
<a rel="prev" href="../player/">
Next <i class="fa fa-arrow-right"></i>
</a>
</li>
<li>
<a href="https://github.com/JohnnyCrazy/SpotifyAPI-NET">
<i class="fa fa-github"></i>
GitHub
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="container">
<div class="col-md-3"><div class="bs-sidebar hidden-print affix well" role="complementary" style="height=90%;">
<ul class="nav bs-sidenav">
<li class="main active"><a href="#savetracks">SaveTracks</a></li>
<li class="main "><a href="#savetrack">SaveTrack</a></li>
<li class="main "><a href="#getsavedtracks">GetSavedTracks</a></li>
<li class="main "><a href="#removesavedtracks">RemoveSavedTracks</a></li>
<li class="main "><a href="#checksavedtracks">CheckSavedTracks</a></li>
<li class="main "><a href="#savealbums">SaveAlbums</a></li>
<li class="main "><a href="#savealbum">SaveAlbum</a></li>
<li class="main "><a href="#getsavedalbums">GetSavedAlbums</a></li>
<li class="main "><a href="#removesavedalbums">RemoveSavedAlbums</a></li>
<li class="main "><a href="#checksavedalbums">CheckSavedAlbums</a></li>
</ul>
</div></div>
<div class="col-md-9" role="main">
<h2 id="savetracks">SaveTracks</h2>
<p><span class="label label-warning">AUTH REQUIRED</span></p>
<blockquote>
<p>Save one or more tracks to the current users “Your Music” library.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>ids</td>
<td>A list of the Spotify IDs</td>
<td><code>new List&lt;String&gt; { "3Hvu1pq89D4R0lyPBoujSv" }</code></td>
</tr>
</tbody>
</table>
<p>Returns a <strong>ErrorResponse</strong> which just contains a possible error. (<code>response.HasError()</code> and <code>response.Error</code>)</p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">ErrorResponse response = _spotify.SaveTracks(new List&lt;string&gt; { &quot;3Hvu1pq89D4R0lyPBoujSv&quot; });
if(!response.HasError())
Console.WriteLine(&quot;success&quot;);
</code></pre>
<hr />
<h2 id="savetrack">SaveTrack</h2>
<p><span class="label label-warning">AUTH REQUIRED</span></p>
<blockquote>
<p>Save one track to the current users “Your Music” library.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>id</td>
<td>A Spotify ID</td>
<td><code>"3Hvu1pq89D4R0lyPBoujSv"</code></td>
</tr>
</tbody>
</table>
<p>Returns a <strong>ErrorResponse</strong> which just contains a possible error. (<code>response.HasError()</code> and <code>response.Error</code>)</p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">ErrorResponse response = _spotify.SaveTrack(&quot;3Hvu1pq89D4R0lyPBoujSv&quot;);
if(!response.HasError())
Console.WriteLine(&quot;success&quot;);
</code></pre>
<hr />
<h2 id="getsavedtracks">GetSavedTracks</h2>
<p><span class="label label-warning">AUTH REQUIRED</span></p>
<blockquote>
<p>Get a list of the songs saved in the current Spotify users “Your Music” library.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>[limit]</td>
<td>The maximum number of objects to return. Default: 20. Minimum: 1. Maximum: 50.</td>
<td><code>20</code></td>
</tr>
<tr>
<td>[offset]</td>
<td>The index of the first object to return. Default: 0 (i.e., the first object)</td>
<td><code>0</code></td>
</tr>
<tr>
<td>[market]</td>
<td>An ISO 3166-1 alpha-2 country code. Provide this parameter if you want to apply Track Relinking.</td>
<td><code>DE</code></td>
</tr>
</tbody>
</table>
<p>Returns a <strong>Paging<SavedTrack></strong>, <strong>SavedTrack</strong> contains 2 properties, <code>DateTime AddedAt</code> and <code>FullTrack Track</code></p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">Paging&lt;SavedTrack&gt; savedTracks = _spotify.GetSavedTracks();
savedTracks.Items.ForEach(track =&gt; Console.WriteLine(track.Track.Name));
</code></pre>
<hr />
<h2 id="removesavedtracks">RemoveSavedTracks</h2>
<p><span class="label label-warning">AUTH REQUIRED</span></p>
<blockquote>
<p>Remove one or more tracks from the current users “Your Music” library.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>ids</td>
<td>A list of the Spotify IDs.</td>
<td><code>new List&lt;String&gt; { "3Hvu1pq89D4R0lyPBoujSv" }</code></td>
</tr>
</tbody>
</table>
<p>Returns a <strong>ErrorResponse</strong> which just contains a possible error. (<code>response.HasError()</code> and <code>response.Error</code>)</p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">ErrorResponse response = _spotify.RemoveSavedTracks(new List&lt;string&gt; { &quot;3Hvu1pq89D4R0lyPBoujSv&quot; });
if(!response.HasError())
Console.WriteLine(&quot;success&quot;);
</code></pre>
<hr />
<h2 id="checksavedtracks">CheckSavedTracks</h2>
<p><span class="label label-warning">AUTH REQUIRED</span></p>
<blockquote>
<p>Check if one or more tracks is already saved in the current Spotify users “Your Music” library.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>ids</td>
<td>A list of the Spotify IDs.</td>
<td><code>new List&lt;String&gt; { "3Hvu1pq89D4R0lyPBoujSv" }</code></td>
</tr>
</tbody>
</table>
<p>Returns a <strong>ListResponse<bool></strong> which contains a property, <code>List&lt;bool&gt; List</code></p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">ListResponse&lt;bool&gt; tracksSaved = _spotify.CheckSavedTracks(new List&lt;String&gt; { &quot;3Hvu1pq89D4R0lyPBoujSv&quot; });
if(tracksSaved.List[0])
Console.WriteLine(&quot;The track is in your library!&quot;);
</code></pre>
<hr />
<h2 id="savealbums">SaveAlbums</h2>
<p><span class="label label-warning">AUTH REQUIRED</span></p>
<blockquote>
<p>Save one or more albums to the current users “Your Music” library.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>ids</td>
<td>A list of the Spotify IDs</td>
<td><code>new List&lt;String&gt; { "1cq06d0kTUnFmJHixz1RaF" }</code></td>
</tr>
</tbody>
</table>
<p>Returns a <strong>ErrorResponse</strong> which just contains a possible error. (<code>response.HasError()</code> and <code>response.Error</code>)</p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">ErrorResponse response = _spotify.SaveAlbums(new List&lt;string&gt; { &quot;1cq06d0kTUnFmJHixz1RaF&quot; });
if(!response.HasError())
Console.WriteLine(&quot;success&quot;);
</code></pre>
<hr />
<h2 id="savealbum">SaveAlbum</h2>
<p><span class="label label-warning">AUTH REQUIRED</span></p>
<blockquote>
<p>Save one album to the current users “Your Music” library.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>id</td>
<td>A Spotify ID</td>
<td><code>"1cq06d0kTUnFmJHixz1RaF"</code></td>
</tr>
</tbody>
</table>
<p>Returns a <strong>ErrorResponse</strong> which just contains a possible error. (<code>response.HasError()</code> and <code>response.Error</code>)</p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">ErrorResponse response = _spotify.SaveAlbum(&quot;1cq06d0kTUnFmJHixz1RaF&quot;);
if(!response.HasError())
Console.WriteLine(&quot;success&quot;);
</code></pre>
<hr />
<h2 id="getsavedalbums">GetSavedAlbums</h2>
<p><span class="label label-warning">AUTH REQUIRED</span></p>
<blockquote>
<p>Get a list of the albums saved in the current Spotify users “Your Music” library.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>[limit]</td>
<td>The maximum number of objects to return. Default: 20. Minimum: 1. Maximum: 50.</td>
<td><code>20</code></td>
</tr>
<tr>
<td>[offset]</td>
<td>The index of the first object to return. Default: 0 (i.e., the first object)</td>
<td><code>0</code></td>
</tr>
<tr>
<td>[market]</td>
<td>An ISO 3166-1 alpha-2 country code. Provide this parameter if you want to apply Track Relinking.</td>
<td><code>DE</code></td>
</tr>
</tbody>
</table>
<p>Returns a <code>Paging&lt;SavedAlbum&gt;</code>, <strong>SavedAlbum</strong> contains 2 properties, <code>DateTime AddedAt</code> and <code>FullAlbum Album</code></p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">Paging&lt;SavedAlbum&gt; savedAlbums = _spotify.GetSavedAlbums();
savedAlbums.Items.ForEach(album =&gt; Console.WriteLine(album.Album.Name));
</code></pre>
<hr />
<h2 id="removesavedalbums">RemoveSavedAlbums</h2>
<p><span class="label label-warning">AUTH REQUIRED</span></p>
<blockquote>
<p>Remove one or more albums from the current users “Your Music” library.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>ids</td>
<td>A list of the Spotify IDs.</td>
<td><code>new List&lt;String&gt; { "1cq06d0kTUnFmJHixz1RaF" }</code></td>
</tr>
</tbody>
</table>
<p>Returns a <strong>ErrorResponse</strong> which just contains a possible error. (<code>response.HasError()</code> and <code>response.Error</code>)</p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">ErrorResponse response = _spotify.RemoveSavedAlbums(new List&lt;string&gt; { &quot;1cq06d0kTUnFmJHixz1RaF&quot; });
if(!response.HasError())
Console.WriteLine(&quot;success&quot;);
</code></pre>
<hr />
<h2 id="checksavedalbums">CheckSavedAlbums</h2>
<p><span class="label label-warning">AUTH REQUIRED</span></p>
<blockquote>
<p>Check if one or more albums is already saved in the current Spotify users “Your Music” library.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>ids</td>
<td>A list of the Spotify IDs.</td>
<td><code>new List&lt;String&gt; { "1cq06d0kTUnFmJHixz1RaF" }</code></td>
</tr>
</tbody>
</table>
<p>Returns a <strong>ListResponse<bool></strong> which contains a property, <code>List&lt;bool&gt; List</code></p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">ListResponse&lt;bool&gt; albumsSaved = _spotify.CheckSavedAlbums(new List&lt;String&gt; { &quot;1cq06d0kTUnFmJHixz1RaF&quot; });
if(albumsSaved.List[0])
Console.WriteLine(&quot;The album is in your library!&quot;);
</code></pre>
<hr /></div>
</div>
<script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="../../js/bootstrap-3.0.3.min.js"></script>
<script src="../../js/base.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js"></script>
<script src="../../highlight.js"></script>
</body>
</html>

View File

@ -1,570 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="author" content="JohnnyCrazy">
<link rel="shortcut icon" href="../../img/favicon.ico">
<title>- Player - SpotifyAPI-NET</title>
<link href="../../css/bootstrap-custom.min.css" rel="stylesheet">
<link href="../../css/font-awesome-4.0.3.css" rel="stylesheet">
<link href="../../css/prettify-1.0.css" rel="stylesheet">
<link href="../../css/base.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.6/styles/agate.min.css">
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<!-- Collapsed navigation -->
<div class="navbar-header">
<!-- Expander button -->
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<!-- Main title -->
<a class="navbar-brand" href="../..">SpotifyAPI-NET</a>
</div>
<!-- Expanded navigation -->
<div class="navbar-collapse collapse">
<!-- Main navigation -->
<ul class="nav navbar-nav">
<li >
<a href="../..">Home</a>
</li>
<li class="dropdown active">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">SpotifyWebAPI <b class="caret"></b></a>
<ul class="dropdown-menu">
<li >
<a href="../gettingstarted/">Getting started</a>
</li>
<li >
<a href="../examples/">Examples</a>
</li>
<li >
<a href="../auth/">Authentication</a>
</li>
<li >
<a href="../albums/">- Albums</a>
</li>
<li >
<a href="../artists/">- Artists</a>
</li>
<li >
<a href="../browse/">- Browse</a>
</li>
<li >
<a href="../follow/">- Follow</a>
</li>
<li >
<a href="../library/">- Library</a>
</li>
<li class="active">
<a href="./">- Player</a>
</li>
<li >
<a href="../playlists/">- Playlists</a>
</li>
<li >
<a href="../profiles/">- Profiles</a>
</li>
<li >
<a href="../search/">- Search</a>
</li>
<li >
<a href="../tracks/">- Tracks</a>
</li>
<li >
<a href="../util/">- Util</a>
</li>
</ul>
</li>
<li >
<a href="../../SpotifyLocalAPI/">SpotifyLocalAPI</a>
</li>
</ul>
<!-- Search, Navigation and Repo links -->
<ul class="nav navbar-nav navbar-right">
<li >
<a rel="next" href="../library/">
<i class="fa fa-arrow-left"></i> Previous
</a>
</li>
<li >
<a rel="prev" href="../playlists/">
Next <i class="fa fa-arrow-right"></i>
</a>
</li>
<li>
<a href="https://github.com/JohnnyCrazy/SpotifyAPI-NET">
<i class="fa fa-github"></i>
GitHub
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="container">
<div class="col-md-3"><div class="bs-sidebar hidden-print affix well" role="complementary" style="height=90%;">
<ul class="nav bs-sidenav">
<li class="main active"><a href="#getdevices">GetDevices</a></li>
<li class="main "><a href="#getplayback">GetPlayback</a></li>
<li class="main "><a href="#getplayingtrack">GetPlayingTrack</a></li>
<li class="main "><a href="#transferplayback">TransferPlayback</a></li>
<li class="main "><a href="#resumeplayback">ResumePlayback</a></li>
<li class="main "><a href="#pauseplayback">PausePlayback</a></li>
<li class="main "><a href="#skipplaybacktonext">SkipPlaybackToNext</a></li>
<li class="main "><a href="#skipplaybacktoprevious">SkipPlaybackToPrevious</a></li>
<li class="main "><a href="#seekplayback">SeekPlayback</a></li>
<li class="main "><a href="#setrepeatmode">SetRepeatMode</a></li>
<li class="main "><a href="#setvolume">SetVolume</a></li>
<li class="main "><a href="#setshuffle">SetShuffle</a></li>
</ul>
</div></div>
<div class="col-md-9" role="main">
<h2 id="getdevices">GetDevices</h2>
<blockquote>
<p>Get information about a users available devices.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<p><strong>Usage</strong> </p>
<pre><code class="cs">AvailabeDevices devices = _spotify.GetDevices();
devices.Devices.ForEach(device =&gt; Console.WriteLine(device.Name));
</code></pre>
<hr />
<h2 id="getplayback">GetPlayback</h2>
<blockquote>
<p>Get information about the users current playback state, including track, track progress, and active device.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>[market]</td>
<td>An ISO 3166-1 alpha-2 country code. Provide this parameter if you want to apply Track Relinking.</td>
<td><code>"DE"</code></td>
</tr>
</tbody>
</table>
<p><strong>Usage</strong> </p>
<pre><code class="cs">PlaybackContext context = _spotify.GetPlayback();
if(contex.Item != null)
Console.WriteLine(context.Item.Name)); //Print the current song
</code></pre>
<hr />
<h2 id="getplayingtrack">GetPlayingTrack</h2>
<blockquote>
<p>Get the object currently being played on the users Spotify account.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>[market]</td>
<td>An ISO 3166-1 alpha-2 country code. Provide this parameter if you want to apply Track Relinking.</td>
<td><code>"DE"</code></td>
</tr>
</tbody>
</table>
<p>This is a simpler (less data) version of <code>GetPlayback</code></p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">PlaybackContext context = _spotify.GetPlayingTrack();
if(contex.Item != null)
Console.WriteLine(context.Item.Name)); //Print the current song
</code></pre>
<hr />
<h2 id="transferplayback">TransferPlayback</h2>
<blockquote>
<p>Transfer playback to a new device and determine if it should start playing.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>deviceIds or deviceId</td>
<td>A JSON array containing the ID of the device on which playback should be started/transferred</td>
<td><code>"XXXX-XXXX-XXXX-XXXX"</code></td>
</tr>
<tr>
<td>play</td>
<td>true: ensure playback happens on new device, false: keep current playback state</td>
<td><code>true</code></td>
</tr>
</tbody>
</table>
<p><strong>Usage</strong> </p>
<pre><code class="cs">ErrorResponse error = _spotify.TransferPlayback(&quot;XXXX-XXXX-XXXX-XXXX&quot;);
</code></pre>
<hr />
<h2 id="resumeplayback">ResumePlayback</h2>
<blockquote>
<p>Start a new context or resume current playback on the users active device.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>[deviceId]</td>
<td>The id of the device this command is targeting. If not supplied, the user's currently active device is the target.</td>
<td><code>"XXXX-XXXX-XXXX-XXXX"</code></td>
</tr>
<tr>
<td>contextUri</td>
<td>Spotify URI of the context to play</td>
<td><code>"spotify:album:1Je1IMUlBXcx1Fz0WE7oPT"</code></td>
</tr>
<tr>
<td>uris</td>
<td>An array of the Spotify track URIs to play.</td>
<td><code>new List&lt;string&gt; { "spotify:track:4iV5W9uYEdYUVa79Axb7Rh" }</code></td>
</tr>
<tr>
<td>offset</td>
<td>Indicates from where in the context playback should start. Only available when context_uri corresponds to an album or playlist object, or when the uris parameter is used.</td>
<td><code>0</code></td>
</tr>
</tbody>
</table>
<p><strong>Usage</strong> </p>
<pre><code class="cs">ErrorResponse error = _spotify.ResumePlayback(uris: new List&lt;string&gt; { &quot;spotify:track:4iV5W9uYEdYUVa79Axb7Rh&quot; });
</code></pre>
<hr />
<h2 id="pauseplayback">PausePlayback</h2>
<blockquote>
<p>Pause playback on the users account.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>[deviceId]</td>
<td>The id of the device this command is targeting. If not supplied, the user's currently active device is the target.</td>
<td><code>"XXXX-XXXX-XXXX-XXXX"</code></td>
</tr>
</tbody>
</table>
<p><strong>Usage</strong> </p>
<pre><code class="cs">ErrorResponse error = _spotify.PausePlayback();
</code></pre>
<hr />
<h2 id="skipplaybacktonext">SkipPlaybackToNext</h2>
<blockquote>
<p>Skips to next track in the users queue.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>[deviceId]</td>
<td>The id of the device this command is targeting. If not supplied, the user's currently active device is the target.</td>
<td><code>"XXXX-XXXX-XXXX-XXXX"</code></td>
</tr>
</tbody>
</table>
<p><strong>Usage</strong> </p>
<pre><code class="cs">ErrorResponse error = _spotify.SkipPlaybackToNext();
</code></pre>
<hr />
<h2 id="skipplaybacktoprevious">SkipPlaybackToPrevious</h2>
<blockquote>
<p>Skips to previous track in the users queue.
Note that this will ALWAYS skip to the previous track, regardless of the current tracks progress.
Returning to the start of the current track should be performed using the https://api.spotify.com/v1/me/player/seek endpoint.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>[deviceId]</td>
<td>The id of the device this command is targeting. If not supplied, the user's currently active device is the target.</td>
<td><code>"XXXX-XXXX-XXXX-XXXX"</code></td>
</tr>
</tbody>
</table>
<p><strong>Usage</strong> </p>
<pre><code class="cs">ErrorResponse error = _spotify.SkipPlaybackToPrevious();
</code></pre>
<hr />
<h2 id="seekplayback">SeekPlayback</h2>
<blockquote>
<p>Seeks to the given position in the users currently playing track.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>positionMs</td>
<td>The position in milliseconds to seek to. Must be a positive number. Passing in a position that is greater than the length of the track will cause the player to start playing the next song.</td>
<td><code>50</code></td>
</tr>
<tr>
<td>[deviceId]</td>
<td>The id of the device this command is targeting. If not supplied, the user's currently active device is the target.</td>
<td><code>"XXXX-XXXX-XXXX-XXXX"</code></td>
</tr>
</tbody>
</table>
<p><strong>Usage</strong> </p>
<pre><code class="cs">ErrorResponse error = _spotify.SeekPlayback(50);
</code></pre>
<hr />
<h2 id="setrepeatmode">SetRepeatMode</h2>
<blockquote>
<p>Set the repeat mode for the users playback. Options are repeat-track, repeat-context, and off.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>state</td>
<td>track, context or off.</td>
<td><code>RepeatState.Track</code></td>
</tr>
<tr>
<td>[deviceId]</td>
<td>The id of the device this command is targeting. If not supplied, the user's currently active device is the target.</td>
<td><code>"XXXX-XXXX-XXXX-XXXX"</code></td>
</tr>
</tbody>
</table>
<p><strong>Usage</strong> </p>
<pre><code class="cs">ErrorResponse error = _spotify.SetRepeatMode(RepeatState.Track);
</code></pre>
<hr />
<h2 id="setvolume">SetVolume</h2>
<blockquote>
<p>Set the volume for the users current playback device.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>volumePercent</td>
<td>Integer. The volume to set. Must be a value from 0 to 100 inclusive.</td>
<td><code>50</code></td>
</tr>
<tr>
<td>[deviceId]</td>
<td>The id of the device this command is targeting. If not supplied, the user's currently active device is the target.</td>
<td><code>"XXXX-XXXX-XXXX-XXXX"</code></td>
</tr>
</tbody>
</table>
<p><strong>Usage</strong> </p>
<pre><code class="cs">ErrorResponse error = _spotify.SetVolume(50);
</code></pre>
<hr />
<h2 id="setshuffle">SetShuffle</h2>
<blockquote>
<p>Toggle shuffle on or off for users playback.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>shuffle</td>
<td>True or False</td>
<td><code>false</code></td>
</tr>
<tr>
<td>[deviceId]</td>
<td>The id of the device this command is targeting. If not supplied, the user's currently active device is the target.</td>
<td><code>"XXXX-XXXX-XXXX-XXXX"</code></td>
</tr>
</tbody>
</table>
<p><strong>Usage</strong> </p>
<pre><code class="cs">ErrorResponse error = _spotify.SetShuffle(false);
</code></pre></div>
</div>
<script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="../../js/bootstrap-3.0.3.min.js"></script>
<script src="../../js/base.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js"></script>
<script src="../../highlight.js"></script>
</body>
</html>

View File

@ -1,706 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="author" content="JohnnyCrazy">
<link rel="shortcut icon" href="../../img/favicon.ico">
<title>- Playlists - SpotifyAPI-NET</title>
<link href="../../css/bootstrap-custom.min.css" rel="stylesheet">
<link href="../../css/font-awesome-4.0.3.css" rel="stylesheet">
<link href="../../css/prettify-1.0.css" rel="stylesheet">
<link href="../../css/base.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.6/styles/agate.min.css">
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<!-- Collapsed navigation -->
<div class="navbar-header">
<!-- Expander button -->
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<!-- Main title -->
<a class="navbar-brand" href="../..">SpotifyAPI-NET</a>
</div>
<!-- Expanded navigation -->
<div class="navbar-collapse collapse">
<!-- Main navigation -->
<ul class="nav navbar-nav">
<li >
<a href="../..">Home</a>
</li>
<li class="dropdown active">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">SpotifyWebAPI <b class="caret"></b></a>
<ul class="dropdown-menu">
<li >
<a href="../gettingstarted/">Getting started</a>
</li>
<li >
<a href="../examples/">Examples</a>
</li>
<li >
<a href="../auth/">Authentication</a>
</li>
<li >
<a href="../albums/">- Albums</a>
</li>
<li >
<a href="../artists/">- Artists</a>
</li>
<li >
<a href="../browse/">- Browse</a>
</li>
<li >
<a href="../follow/">- Follow</a>
</li>
<li >
<a href="../library/">- Library</a>
</li>
<li >
<a href="../player/">- Player</a>
</li>
<li class="active">
<a href="./">- Playlists</a>
</li>
<li >
<a href="../profiles/">- Profiles</a>
</li>
<li >
<a href="../search/">- Search</a>
</li>
<li >
<a href="../tracks/">- Tracks</a>
</li>
<li >
<a href="../util/">- Util</a>
</li>
</ul>
</li>
<li >
<a href="../../SpotifyLocalAPI/">SpotifyLocalAPI</a>
</li>
</ul>
<!-- Search, Navigation and Repo links -->
<ul class="nav navbar-nav navbar-right">
<li >
<a rel="next" href="../player/">
<i class="fa fa-arrow-left"></i> Previous
</a>
</li>
<li >
<a rel="prev" href="../profiles/">
Next <i class="fa fa-arrow-right"></i>
</a>
</li>
<li>
<a href="https://github.com/JohnnyCrazy/SpotifyAPI-NET">
<i class="fa fa-github"></i>
GitHub
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="container">
<div class="col-md-3"><div class="bs-sidebar hidden-print affix well" role="complementary" style="height=90%;">
<ul class="nav bs-sidenav">
<li class="main active"><a href="#getuserplaylists">GetUserPlaylists</a></li>
<li class="main "><a href="#getplaylist">GetPlaylist</a></li>
<li class="main "><a href="#getplaylisttracks">GetPlaylistTracks</a></li>
<li class="main "><a href="#createplaylist">CreatePlaylist</a></li>
<li class="main "><a href="#updateplaylist">UpdatePlaylist</a></li>
<li class="main "><a href="#replaceplaylisttracks">ReplacePlaylistTracks</a></li>
<li class="main "><a href="#removeplaylisttracks">RemovePlaylistTracks</a></li>
<li class="main "><a href="#removeplaylisttrack">RemovePlaylistTrack</a></li>
<li class="main "><a href="#addplaylisttracks">AddPlaylistTracks</a></li>
<li class="main "><a href="#addplaylisttrack">AddPlaylistTrack</a></li>
<li class="main "><a href="#reorderplaylist">ReorderPlaylist</a></li>
</ul>
</div></div>
<div class="col-md-9" role="main">
<h2 id="getuserplaylists">GetUserPlaylists</h2>
<p><span class="label label-warning">AUTH REQUIRED</span></p>
<blockquote>
<p>Get a list of the playlists owned or followed by a Spotify user.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>userId</td>
<td>The user's Spotify user ID.</td>
<td><code>"1122095781"</code></td>
</tr>
<tr>
<td>[limit]</td>
<td>The maximum number of playlists to return. Default: 20. Minimum: 1. Maximum: 50.</td>
<td><code>20</code></td>
</tr>
<tr>
<td>[offset]</td>
<td>The index of the first playlist to return. Default: 0 (the first object)</td>
<td><code>0</code></td>
</tr>
</tbody>
</table>
<p>Returns a <a href="https://developer.spotify.com/web-api/object-model/#playlist-object-simplified">SimplePlaylist</a> wrapped inside a <a href="https://developer.spotify.com/web-api/object-model/#paging-object">Paging Object</a></p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">Paging&lt;SimplePlaylist&gt; userPlaylists = _spotify.GetUserPlaylists(&quot;1122095781&quot;);
userPlaylists.Items.ForEach(playlist =&gt; playlist.Owner.DisplayName) //Who is the owner of the playlist?
</code></pre>
<hr />
<h2 id="getplaylist">GetPlaylist</h2>
<p><span class="label label-warning">AUTH REQUIRED</span></p>
<blockquote>
<p>Get a playlist owned by a Spotify user.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>userId</td>
<td>The user's Spotify user ID.</td>
<td><code>"1122095781"</code></td>
</tr>
<tr>
<td>playlistId</td>
<td>The Spotify ID for the playlist.</td>
<td><code>"1TtEejT1y4D1WmcOnLfha2"</code></td>
</tr>
<tr>
<td>[fields]</td>
<td>Filters for the query: a comma-separated list of the fields to return. If omitted, all fields are returned.</td>
<td><code>"description,uri"</code></td>
</tr>
<tr>
<td>[market]</td>
<td>An ISO 3166-1 alpha-2 country code. Provide this parameter if you want to apply Track Relinking.</td>
<td>"DE"</td>
</tr>
</tbody>
</table>
<p>Returns a <a href="https://developer.spotify.com/web-api/object-model/#track-object-full">FullTrack</a></p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">FullPlaylist playlist = _spotify.GetPlaylist(&quot;1122095781&quot;, &quot;1TtEejT1y4D1WmcOnLfha2&quot;);
playlist.Tracks.Items.ForEach(track =&gt; Console.WriteLine(track.Track.Name));
</code></pre>
<hr />
<h2 id="getplaylisttracks">GetPlaylistTracks</h2>
<p><span class="label label-warning">AUTH REQUIRED</span></p>
<blockquote>
<p>Get full details of the tracks of a playlist owned by a Spotify user.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>userId</td>
<td>The user's Spotify user ID.</td>
<td><code>"1122095781"</code></td>
</tr>
<tr>
<td>playlistId</td>
<td>The Spotify ID for the playlist.</td>
<td><code>"1TtEejT1y4D1WmcOnLfha2"</code></td>
</tr>
<tr>
<td>[fields]</td>
<td>Filters for the query: a comma-separated list of the fields to return. If omitted, all fields are returned.</td>
<td><code>"description,uri"</code></td>
</tr>
<tr>
<td>[limit]</td>
<td>The maximum number of tracks to return. Default: 100. Minimum: 1. Maximum: 100.</td>
<td><code>100</code></td>
</tr>
<tr>
<td>[offset]</td>
<td>The index of the first object to return. Default: 0 (i.e., the first object)</td>
<td><code>0</code></td>
</tr>
<tr>
<td>[market]</td>
<td>An ISO 3166-1 alpha-2 country code. Provide this parameter if you want to apply Track Relinking.</td>
<td><code>DE</code></td>
</tr>
</tbody>
</table>
<p>Returns a <a href="https://developer.spotify.com/web-api/object-model/#playlist-object-simplified">PlaylistTrack</a> wrapped inside a <a href="https://developer.spotify.com/web-api/object-model/#paging-object">Paging Object</a></p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">Paging&lt;PlaylistTrack&gt; playlist = _spotify.GetPlaylistTracks(&quot;1122095781&quot;, &quot;1TtEejT1y4D1WmcOnLfha2&quot;);
playlist.Items.ForEach(track =&gt; Console.WriteLine(track.Track.Name));
</code></pre>
<hr />
<h2 id="createplaylist">CreatePlaylist</h2>
<p><span class="label label-warning">AUTH REQUIRED</span></p>
<blockquote>
<p>Create a playlist for a Spotify user. (The playlist will be empty until you add tracks.)</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>userId</td>
<td>The user's Spotify user ID.</td>
<td><code>"1122095781"</code></td>
</tr>
<tr>
<td>playlistName</td>
<td>The name for the new playlist, for example "Your Coolest Playlist". This name does not need to be unique.</td>
<td><code>"This is my new Playlist"</code></td>
</tr>
<tr>
<td>[isPublic]</td>
<td>default true. If true the playlist will be public, if false it will be private. To be able to create private playlists, the user must have granted the playlist-modify-private scope.</td>
<td><code>true</code></td>
</tr>
</tbody>
</table>
<p>Returns a <a href="https://developer.spotify.com/web-api/object-model/#playlist-object-full">FullPlaylist</a></p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">FullPlaylist playlist = _spotify.CreatePlaylist(&quot;1122095781&quot;, &quot;This is my new Playlist&quot;);
if(!playlist.HasError())
Console.WriteLine(&quot;Playlist-URI: &quot; + playlist.Uri);
</code></pre>
<hr />
<h2 id="updateplaylist">UpdatePlaylist</h2>
<p><span class="label label-warning">AUTH REQUIRED</span></p>
<blockquote>
<p>Change a playlists name and public/private state. (The user must, of course, own the playlist.)</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>userId</td>
<td>The user's Spotify user ID.</td>
<td><code>"1122095781"</code></td>
</tr>
<tr>
<td>playlistId</td>
<td>The Spotify ID for the playlist.</td>
<td><code>"1TtEejT1y4D1WmcOnLfha2"</code></td>
</tr>
<tr>
<td>[newName]</td>
<td>The new name for the playlist, for example "My New Playlist Title".</td>
<td><code>"New Playlistname"</code></td>
</tr>
<tr>
<td>[newPublic]</td>
<td>If true the playlist will be public, if false it will be private.</td>
<td>EXAMPLE</td>
</tr>
</tbody>
</table>
<p>Returns a <strong>ErrorResponse</strong> which just contains a possible error. (<code>response.HasError()</code> and <code>response.Error</code>)</p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">ErrorResponse response = _spotify.UpdatePlaylist(&quot;1122095781&quot;, &quot;1TtEejT1y4D1WmcOnLfha2&quot;, &quot;New Name&quot;, true);
if(!response.HasError())
Console.WriteLine(&quot;success&quot;);
</code></pre>
<hr />
<h2 id="replaceplaylisttracks">ReplacePlaylistTracks</h2>
<p><span class="label label-warning">AUTH REQUIRED</span></p>
<blockquote>
<p>Replace all the tracks in a playlist, overwriting its existing tracks. This powerful request can be useful for replacing tracks, re-ordering existing tracks, or clearing the playlist.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>userId</td>
<td>The user's Spotify user ID.</td>
<td><code>"1122095781"</code></td>
</tr>
<tr>
<td>playlistId</td>
<td>The Spotify ID for the playlist.</td>
<td><code>"1TtEejT1y4D1WmcOnLfha2"</code></td>
</tr>
<tr>
<td>uris</td>
<td>A list of Spotify track URIs to set. A maximum of 100 tracks can be set in one request.</td>
<td><code>new List&lt;string&gt; { "1ri6UZpjPLmTCswIXZ6Uq1" }</code></td>
</tr>
</tbody>
</table>
<p>Returns a <strong>ErrorResponse</strong> which just contains a possible error. (<code>response.HasError()</code> and <code>response.Error</code>)</p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">ErrorResponse response = _spotify.ReplacePlaylistTracks(&quot;1122095781&quot;, &quot;1TtEejT1y4D1WmcOnLfha2&quot;, new List&lt;string&gt; { &quot;1ri6UZpjPLmTCswIXZ6Uq1&quot; });
if(!response.HasError())
Console.WriteLine(&quot;success&quot;);
</code></pre>
<hr />
<h2 id="removeplaylisttracks">RemovePlaylistTracks</h2>
<p><span class="label label-warning">AUTH REQUIRED</span></p>
<blockquote>
<p>Remove one or more tracks from a users playlist.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>userId</td>
<td>The user's Spotify user ID.</td>
<td><code>"1122095781"</code></td>
</tr>
<tr>
<td>playlistId</td>
<td>The Spotify ID for the playlist.</td>
<td><code>"1TtEejT1y4D1WmcOnLfha2"</code></td>
</tr>
<tr>
<td>uris</td>
<td>array of objects containing Spotify URI strings (and their position in the playlist). A maximum of 100 objects can be sent at once.</td>
<td><code>(example below)</code></td>
</tr>
</tbody>
</table>
<p>Returns a <strong>ErrorResponse</strong> which just contains a possible error. (<code>response.HasError()</code> and <code>response.Error</code>)</p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">//Remove multiple tracks
ErrorResponse playlist = _spotify.RemovePlaylistTracks(&quot;1122095781&quot;, &quot;1TtEejT1y4D1WmcOnLfha2&quot;, new List&lt;DeleteTrackUri&gt;()
{
new DeleteTrackUri(&quot;1ri6UZpjPLmTCswIXZ6Uq1&quot;),
new DeleteTrackUri(&quot;47xtGU3vht7mXLHqnbaau5&quot;)
});
//Remove multiple tracks at their specified positions
ErrorResponse playlist = _spotify.RemovePlaylistTracks(&quot;1122095781&quot;, &quot;1TtEejT1y4D1WmcOnLfha2&quot;, new List&lt;DeleteTrackUri&gt;()
{
new DeleteTrackUri(&quot;1ri6UZpjPLmTCswIXZ6Uq1&quot;, 2),
new DeleteTrackUri(&quot;47xtGU3vht7mXLHqnbaau5&quot;, 0, 50)
});
</code></pre>
<hr />
<h2 id="removeplaylisttrack">RemovePlaylistTrack</h2>
<p><span class="label label-warning">AUTH REQUIRED</span></p>
<blockquote>
<p>Remove one or more tracks from a users playlist.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>userId</td>
<td>The user's Spotify user ID.</td>
<td><code>"1122095781"</code></td>
</tr>
<tr>
<td>playlistId</td>
<td>The Spotify ID for the playlist.</td>
<td><code>"1TtEejT1y4D1WmcOnLfha2"</code></td>
</tr>
<tr>
<td>uri</td>
<td>Spotify URI</td>
<td><code>new DeleteTrackUri("1ri6UZpjPLmTCswIXZ6Uq1")</code></td>
</tr>
</tbody>
</table>
<p>Returns a <strong>ErrorResponse</strong> which just contains a possible error. (<code>response.HasError()</code> and <code>response.Error</code>)</p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">//Remove all tracks with the specified URI
ErrorResponse response = _spotify.RemovePlaylistTrack(&quot;1122095781&quot;, &quot;1TtEejT1y4D1WmcOnLfha2&quot;, new DeleteTrackUri(&quot;1ri6UZpjPLmTCswIXZ6Uq1&quot;));
//Remove all tracks with the specified URI and the specified positions
ErrorResponse response = _spotify.RemovePlaylistTrack(&quot;1122095781&quot;, &quot;1TtEejT1y4D1WmcOnLfha2&quot;, new DeleteTrackUri(&quot;1ri6UZpjPLmTCswIXZ6Uq1&quot;, 0, 10, 20));
</code></pre>
<hr />
<h2 id="addplaylisttracks">AddPlaylistTracks</h2>
<p><span class="label label-warning">AUTH REQUIRED</span></p>
<blockquote>
<p>Add one or more tracks to a users playlist.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>userId</td>
<td>The user's Spotify user ID.</td>
<td><code>"1122095781"</code></td>
</tr>
<tr>
<td>playlistId</td>
<td>The Spotify ID for the playlist.</td>
<td><code>"1TtEejT1y4D1WmcOnLfha2"</code></td>
</tr>
<tr>
<td>uris</td>
<td>A list of Spotify track URIs to add</td>
<td><code>new List&lt;string&gt; { "1ri6UZpjPLmTCswIXZ6Uq1" }</code></td>
</tr>
<tr>
<td>[position]</td>
<td>The position to insert the tracks, a zero-based index</td>
<td><code>10</code></td>
</tr>
</tbody>
</table>
<p>Returns a <strong>ErrorResponse</strong> which just contains a possible error. (<code>response.HasError()</code> and <code>response.Error</code>)</p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">ErrorResponse response = _spotify.AddPlaylistTracks(&quot;1122095781&quot;, &quot;1TtEejT1y4D1WmcOnLfha2&quot;, new List&lt;string&gt; { &quot;1ri6UZpjPLmTCswIXZ6Uq1&quot; });
if(!response.HasError())
Console.WriteLine(&quot;Success&quot;);
</code></pre>
<hr />
<h2 id="addplaylisttrack">AddPlaylistTrack</h2>
<p><span class="label label-warning">AUTH REQUIRED</span></p>
<blockquote>
<p>Add one or more tracks to a users playlist.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>userId</td>
<td>The user's Spotify user ID.</td>
<td><code>"1122095781"</code></td>
</tr>
<tr>
<td>playlistId</td>
<td>The Spotify ID for the playlist.</td>
<td><code>"1TtEejT1y4D1WmcOnLfha2"</code></td>
</tr>
<tr>
<td>uri</td>
<td>A Spotify Track URI</td>
<td><code>"1ri6UZpjPLmTCswIXZ6Uq1"</code></td>
</tr>
<tr>
<td>position</td>
<td>The position to insert the tracks, a zero-based index</td>
<td><code>10</code></td>
</tr>
</tbody>
</table>
<p>Returns a <strong>ErrorResponse</strong> which just contains a possible error. (<code>response.HasError()</code> and <code>response.Error</code>)</p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">ErrorResponse response = _spotify.AddPlaylistTrack(&quot;1122095781&quot;, &quot;1TtEejT1y4D1WmcOnLfha2&quot;, &quot;1ri6UZpjPLmTCswIXZ6Uq1&quot;);
if(!response.HasError())
Console.WriteLine(&quot;Success&quot;);
</code></pre>
<hr />
<h2 id="reorderplaylist">ReorderPlaylist</h2>
<p><span class="label label-warning">AUTH REQUIRED</span></p>
<blockquote>
<p>Reorder a track or a group of tracks in a playlist.
More Info: <a href="https://developer.spotify.com/web-api/reorder-playlists-tracks/">Reorder-Playlist</a></p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>userId</td>
<td>The user's Spotify user ID.</td>
<td><code>"1122095781"</code></td>
</tr>
<tr>
<td>playlistId</td>
<td>The Spotify ID for the playlist.</td>
<td><code>"1TtEejT1y4D1WmcOnLfha2"</code></td>
</tr>
<tr>
<td>rangeStart</td>
<td>The position of the first track to be reordered.</td>
<td><code>2</code></td>
</tr>
<tr>
<td>insertBefore</td>
<td>The position where the tracks should be inserted.</td>
<td><code>0</code></td>
</tr>
<tr>
<td>[rangeLength]</td>
<td>The amount of tracks to be reordered. Defaults to 1 if not set.</td>
<td><code>2</code></td>
</tr>
<tr>
<td>[snapshotId]</td>
<td>The playlist's snapshot ID against which you want to make the changes.</td>
<td>``</td>
</tr>
</tbody>
</table>
<p>Returns a <strong>Snapshot</strong>-Object which contains the property <code>String SnapshotId</code></p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">Snapshot snapshot = _spotify.ReorderPlaylist(&quot;1122095781&quot;, &quot;1TtEejT1y4D1WmcOnLfha2&quot;, 2, 0, 2);
Console.WriteLine(&quot;New SnapshotId: &quot; + snapshot.SnapshotId);
</code></pre>
<hr /></div>
</div>
<script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="../../js/bootstrap-3.0.3.min.js"></script>
<script src="../../js/base.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js"></script>
<script src="../../highlight.js"></script>
</body>
</html>

View File

@ -1,237 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="author" content="JohnnyCrazy">
<link rel="shortcut icon" href="../../img/favicon.ico">
<title>- Profiles - SpotifyAPI-NET</title>
<link href="../../css/bootstrap-custom.min.css" rel="stylesheet">
<link href="../../css/font-awesome-4.0.3.css" rel="stylesheet">
<link href="../../css/prettify-1.0.css" rel="stylesheet">
<link href="../../css/base.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.6/styles/agate.min.css">
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<!-- Collapsed navigation -->
<div class="navbar-header">
<!-- Expander button -->
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<!-- Main title -->
<a class="navbar-brand" href="../..">SpotifyAPI-NET</a>
</div>
<!-- Expanded navigation -->
<div class="navbar-collapse collapse">
<!-- Main navigation -->
<ul class="nav navbar-nav">
<li >
<a href="../..">Home</a>
</li>
<li class="dropdown active">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">SpotifyWebAPI <b class="caret"></b></a>
<ul class="dropdown-menu">
<li >
<a href="../gettingstarted/">Getting started</a>
</li>
<li >
<a href="../examples/">Examples</a>
</li>
<li >
<a href="../auth/">Authentication</a>
</li>
<li >
<a href="../albums/">- Albums</a>
</li>
<li >
<a href="../artists/">- Artists</a>
</li>
<li >
<a href="../browse/">- Browse</a>
</li>
<li >
<a href="../follow/">- Follow</a>
</li>
<li >
<a href="../library/">- Library</a>
</li>
<li >
<a href="../player/">- Player</a>
</li>
<li >
<a href="../playlists/">- Playlists</a>
</li>
<li class="active">
<a href="./">- Profiles</a>
</li>
<li >
<a href="../search/">- Search</a>
</li>
<li >
<a href="../tracks/">- Tracks</a>
</li>
<li >
<a href="../util/">- Util</a>
</li>
</ul>
</li>
<li >
<a href="../../SpotifyLocalAPI/">SpotifyLocalAPI</a>
</li>
</ul>
<!-- Search, Navigation and Repo links -->
<ul class="nav navbar-nav navbar-right">
<li >
<a rel="next" href="../playlists/">
<i class="fa fa-arrow-left"></i> Previous
</a>
</li>
<li >
<a rel="prev" href="../search/">
Next <i class="fa fa-arrow-right"></i>
</a>
</li>
<li>
<a href="https://github.com/JohnnyCrazy/SpotifyAPI-NET">
<i class="fa fa-github"></i>
GitHub
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="container">
<div class="col-md-3"><div class="bs-sidebar hidden-print affix well" role="complementary" style="height=90%;">
<ul class="nav bs-sidenav">
<li class="main active"><a href="#getprivateprofile">GetPrivateProfile</a></li>
<li class="main "><a href="#getpublicprofile">GetPublicProfile</a></li>
</ul>
</div></div>
<div class="col-md-9" role="main">
<h2 id="getprivateprofile">GetPrivateProfile</h2>
<p><span class="label label-warning">AUTH REQUIRED</span></p>
<blockquote>
<p>Get detailed profile information about the current user (including the current users username).</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<p>Returns a <a href="https://developer.spotify.com/web-api/object-model/#user-object-private">PrivateProfile</a></p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">PrivateUser user = _spotify.GetPrivateProfile();
Console.WriteLine(user.DisplayName);
</code></pre>
<hr />
<h2 id="getpublicprofile">GetPublicProfile</h2>
<blockquote>
<p>Get public profile information about a Spotify user.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>userId</td>
<td>The user's Spotify user ID.</td>
<td>EXAMPLE</td>
</tr>
</tbody>
</table>
<p>Returns a <a href="https://developer.spotify.com/web-api/object-model/#user-object-public">PublicProfile</a></p>
<p><strong>Usage</strong> </p>
<pre><code class="cs"></code></pre>
<hr /></div>
</div>
<script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="../../js/bootstrap-3.0.3.min.js"></script>
<script src="../../js/base.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js"></script>
<script src="../../highlight.js"></script>
</body>
</html>

View File

@ -1,227 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="author" content="JohnnyCrazy">
<link rel="shortcut icon" href="../../img/favicon.ico">
<title>- Search - SpotifyAPI-NET</title>
<link href="../../css/bootstrap-custom.min.css" rel="stylesheet">
<link href="../../css/font-awesome-4.0.3.css" rel="stylesheet">
<link href="../../css/prettify-1.0.css" rel="stylesheet">
<link href="../../css/base.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.6/styles/agate.min.css">
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<!-- Collapsed navigation -->
<div class="navbar-header">
<!-- Expander button -->
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<!-- Main title -->
<a class="navbar-brand" href="../..">SpotifyAPI-NET</a>
</div>
<!-- Expanded navigation -->
<div class="navbar-collapse collapse">
<!-- Main navigation -->
<ul class="nav navbar-nav">
<li >
<a href="../..">Home</a>
</li>
<li class="dropdown active">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">SpotifyWebAPI <b class="caret"></b></a>
<ul class="dropdown-menu">
<li >
<a href="../gettingstarted/">Getting started</a>
</li>
<li >
<a href="../examples/">Examples</a>
</li>
<li >
<a href="../auth/">Authentication</a>
</li>
<li >
<a href="../albums/">- Albums</a>
</li>
<li >
<a href="../artists/">- Artists</a>
</li>
<li >
<a href="../browse/">- Browse</a>
</li>
<li >
<a href="../follow/">- Follow</a>
</li>
<li >
<a href="../library/">- Library</a>
</li>
<li >
<a href="../player/">- Player</a>
</li>
<li >
<a href="../playlists/">- Playlists</a>
</li>
<li >
<a href="../profiles/">- Profiles</a>
</li>
<li class="active">
<a href="./">- Search</a>
</li>
<li >
<a href="../tracks/">- Tracks</a>
</li>
<li >
<a href="../util/">- Util</a>
</li>
</ul>
</li>
<li >
<a href="../../SpotifyLocalAPI/">SpotifyLocalAPI</a>
</li>
</ul>
<!-- Search, Navigation and Repo links -->
<ul class="nav navbar-nav navbar-right">
<li >
<a rel="next" href="../profiles/">
<i class="fa fa-arrow-left"></i> Previous
</a>
</li>
<li >
<a rel="prev" href="../tracks/">
Next <i class="fa fa-arrow-right"></i>
</a>
</li>
<li>
<a href="https://github.com/JohnnyCrazy/SpotifyAPI-NET">
<i class="fa fa-github"></i>
GitHub
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="container">
<div class="col-md-3"><div class="bs-sidebar hidden-print affix well" role="complementary" style="height=90%;">
<ul class="nav bs-sidenav">
<li class="main active"><a href="#searchitems">SearchItems</a></li>
</ul>
</div></div>
<div class="col-md-9" role="main">
<h2 id="searchitems">SearchItems</h2>
<blockquote>
<p>Get Spotify catalog information about artists, albums, tracks or playlists that match a keyword string.</p>
</blockquote>
<p><strong>Paramters</strong></p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>q</td>
<td>The search query's keywords (and optional field filters and operators), for example q=roadhouse+blues.</td>
<td><code>"roadhouse+blues"</code></td>
</tr>
<tr>
<td>type</td>
<td>A list of item types to search across.</td>
<td><code>SearchType.Album</code></td>
</tr>
<tr>
<td>[limit]</td>
<td>The maximum number of items to return. Default: 20. Minimum: 1. Maximum: 50.</td>
<td><code>20</code></td>
</tr>
<tr>
<td>[offset]</td>
<td>The index of the first result to return. Default: 0</td>
<td><code>0</code></td>
</tr>
<tr>
<td>[market]</td>
<td>An ISO 3166-1 alpha-2 country code or the string from_token.</td>
<td><code>"de"</code></td>
</tr>
</tbody>
</table>
<p>Returns a <strong>SearchItem</strong> which contains the properties <code>Paging&lt;FullArtist&gt; Artists</code>,<code>Paging&lt;FullTrack&gt; Tracks</code>, <code>Paging&lt;SimpleAlbum&gt; Albums</code>, <code>Paging&lt;SimplePlaylist&gt; Playlists</code>. They are filled based on your search-type.</p>
<p><strong>Usage</strong></p>
<pre><code class="cs">SearchItem item = _spotify.SearchItems(&quot;roadhouse+blues&quot;, SearchType.Album | SearchType.Playlist);
Console.WriteLine(item.Albums.Total); //How many results are there in total? NOTE: item.Tracks = item.Artists = null
</code></pre>
<hr /></div>
</div>
<script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="../../js/bootstrap-3.0.3.min.js"></script>
<script src="../../js/base.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js"></script>
<script src="../../highlight.js"></script>
</body>
</html>

View File

@ -1,279 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="author" content="JohnnyCrazy">
<link rel="shortcut icon" href="../../img/favicon.ico">
<title>- Tracks - SpotifyAPI-NET</title>
<link href="../../css/bootstrap-custom.min.css" rel="stylesheet">
<link href="../../css/font-awesome-4.0.3.css" rel="stylesheet">
<link href="../../css/prettify-1.0.css" rel="stylesheet">
<link href="../../css/base.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.6/styles/agate.min.css">
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<!-- Collapsed navigation -->
<div class="navbar-header">
<!-- Expander button -->
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<!-- Main title -->
<a class="navbar-brand" href="../..">SpotifyAPI-NET</a>
</div>
<!-- Expanded navigation -->
<div class="navbar-collapse collapse">
<!-- Main navigation -->
<ul class="nav navbar-nav">
<li >
<a href="../..">Home</a>
</li>
<li class="dropdown active">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">SpotifyWebAPI <b class="caret"></b></a>
<ul class="dropdown-menu">
<li >
<a href="../gettingstarted/">Getting started</a>
</li>
<li >
<a href="../examples/">Examples</a>
</li>
<li >
<a href="../auth/">Authentication</a>
</li>
<li >
<a href="../albums/">- Albums</a>
</li>
<li >
<a href="../artists/">- Artists</a>
</li>
<li >
<a href="../browse/">- Browse</a>
</li>
<li >
<a href="../follow/">- Follow</a>
</li>
<li >
<a href="../library/">- Library</a>
</li>
<li >
<a href="../player/">- Player</a>
</li>
<li >
<a href="../playlists/">- Playlists</a>
</li>
<li >
<a href="../profiles/">- Profiles</a>
</li>
<li >
<a href="../search/">- Search</a>
</li>
<li class="active">
<a href="./">- Tracks</a>
</li>
<li >
<a href="../util/">- Util</a>
</li>
</ul>
</li>
<li >
<a href="../../SpotifyLocalAPI/">SpotifyLocalAPI</a>
</li>
</ul>
<!-- Search, Navigation and Repo links -->
<ul class="nav navbar-nav navbar-right">
<li >
<a rel="next" href="../search/">
<i class="fa fa-arrow-left"></i> Previous
</a>
</li>
<li >
<a rel="prev" href="../util/">
Next <i class="fa fa-arrow-right"></i>
</a>
</li>
<li>
<a href="https://github.com/JohnnyCrazy/SpotifyAPI-NET">
<i class="fa fa-github"></i>
GitHub
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="container">
<div class="col-md-3"><div class="bs-sidebar hidden-print affix well" role="complementary" style="height=90%;">
<ul class="nav bs-sidenav">
<li class="main active"><a href="#getseveraltracks">GetSeveralTracks</a></li>
<li class="main "><a href="#gettrack">GetTrack</a></li>
<li class="main "><a href="#getaudioanalysis">GetAudioAnalysis</a></li>
</ul>
</div></div>
<div class="col-md-9" role="main">
<h2 id="getseveraltracks">GetSeveralTracks</h2>
<blockquote>
<p>Get Spotify catalog information for multiple tracks based on their Spotify IDs.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>ids</td>
<td>A list of the Spotify IDs for the tracks. Maximum: 50 IDs.</td>
<td><code>new List&lt;String&gt; {"6Y1CLPwYe7zvI8PJiWVz6T"}</code></td>
</tr>
<tr>
<td>market</td>
<td>An ISO 3166-1 alpha-2 country code. Provide this parameter if you want to apply Track Relinking.</td>
<td><code>"DE"</code></td>
</tr>
</tbody>
</table>
<p>Returns a <strong>SeveralTracks</strong> object which has one property, <code>List&lt;FullTrack&gt; Tracks</code></p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">SeveralTracks severalTracks = _spotify.GetSeveralTracks(new List&lt;String&gt; {&quot;6Y1CLPwYe7zvI8PJiWVz6T&quot;});
severalTracks.Tracks.ForEach(track =&gt; Console.WriteLine(track.Name));
</code></pre>
<hr />
<h2 id="gettrack">GetTrack</h2>
<blockquote>
<p>Get Spotify catalog information for a single track identified by its unique Spotify ID.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>id</td>
<td>The Spotify ID for the track.</td>
<td><code>"6Y1CLPwYe7zvI8PJiWVz6T"</code></td>
</tr>
<tr>
<td>market</td>
<td>An ISO 3166-1 alpha-2 country code. Provide this parameter if you want to apply Track Relinking.</td>
<td><code>"DE"</code></td>
</tr>
</tbody>
</table>
<p>Returns a <a href="https://developer.spotify.com/web-api/object-model/#track-object-full">FullTrack</a></p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">FullTrack track = _spotify.GetTrack(&quot;6Y1CLPwYe7zvI8PJiWVz6T&quot;);
Console.WriteLine(track.Name);
</code></pre>
<hr />
<h2 id="getaudioanalysis">GetAudioAnalysis</h2>
<blockquote>
<p>Get a detailed audio analysis for a single track identified by its unique Spotify ID.</p>
</blockquote>
<p><strong>Paramters</strong> </p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Description</th>
<th>Example</th>
</tr>
</thead>
<tbody>
<tr>
<td>id</td>
<td>The Spotify ID for the track.</td>
<td><code>"6Y1CLPwYe7zvI8PJiWVz6T"</code></td>
</tr>
</tbody>
</table>
<p>Returns a AudioAnalysis. This object is currently lacking Spotify documentation but archived <a href="https://web.archive.org/web/20160528174915/http://developer.echonest.com/docs/v4/_static/AnalyzeDocumentation.pdf">EchoNest documentation</a> is relevant.</p>
<p><strong>Usage</strong> </p>
<pre><code class="cs">AudioAnalysis analysis = _spotify.GetAudioAnalysis(&quot;6Y1CLPwYe7zvI8PJiWVz6T&quot;);
Console.WriteLine(analysis.Meta.DetailedStatus);
</code></pre>
<hr /></div>
</div>
<script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="../../js/bootstrap-3.0.3.min.js"></script>
<script src="../../js/base.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js"></script>
<script src="../../highlight.js"></script>
</body>
</html>

View File

@ -1,192 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="author" content="JohnnyCrazy">
<link rel="shortcut icon" href="../../img/favicon.ico">
<title>- Util - SpotifyAPI-NET</title>
<link href="../../css/bootstrap-custom.min.css" rel="stylesheet">
<link href="../../css/font-awesome-4.0.3.css" rel="stylesheet">
<link href="../../css/prettify-1.0.css" rel="stylesheet">
<link href="../../css/base.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.6/styles/agate.min.css">
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<!-- Collapsed navigation -->
<div class="navbar-header">
<!-- Expander button -->
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<!-- Main title -->
<a class="navbar-brand" href="../..">SpotifyAPI-NET</a>
</div>
<!-- Expanded navigation -->
<div class="navbar-collapse collapse">
<!-- Main navigation -->
<ul class="nav navbar-nav">
<li >
<a href="../..">Home</a>
</li>
<li class="dropdown active">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">SpotifyWebAPI <b class="caret"></b></a>
<ul class="dropdown-menu">
<li >
<a href="../gettingstarted/">Getting started</a>
</li>
<li >
<a href="../examples/">Examples</a>
</li>
<li >
<a href="../auth/">Authentication</a>
</li>
<li >
<a href="../albums/">- Albums</a>
</li>
<li >
<a href="../artists/">- Artists</a>
</li>
<li >
<a href="../browse/">- Browse</a>
</li>
<li >
<a href="../follow/">- Follow</a>
</li>
<li >
<a href="../library/">- Library</a>
</li>
<li >
<a href="../player/">- Player</a>
</li>
<li >
<a href="../playlists/">- Playlists</a>
</li>
<li >
<a href="../profiles/">- Profiles</a>
</li>
<li >
<a href="../search/">- Search</a>
</li>
<li >
<a href="../tracks/">- Tracks</a>
</li>
<li class="active">
<a href="./">- Util</a>
</li>
</ul>
</li>
<li >
<a href="../../SpotifyLocalAPI/">SpotifyLocalAPI</a>
</li>
</ul>
<!-- Search, Navigation and Repo links -->
<ul class="nav navbar-nav navbar-right">
<li >
<a rel="next" href="../tracks/">
<i class="fa fa-arrow-left"></i> Previous
</a>
</li>
<li >
<a rel="prev" href="../../SpotifyLocalAPI/">
Next <i class="fa fa-arrow-right"></i>
</a>
</li>
<li>
<a href="https://github.com/JohnnyCrazy/SpotifyAPI-NET">
<i class="fa fa-github"></i>
GitHub
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="container">
<div class="col-md-3"><div class="bs-sidebar hidden-print affix well" role="complementary" style="height=90%;">
<ul class="nav bs-sidenav">
<li class="main active"><a href="#paging-methods">Paging-Methods</a></li>
</ul>
</div></div>
<div class="col-md-9" role="main">
<h2 id="paging-methods">Paging-Methods</h2>
<p>The <code>SpotifyWebAPI</code> features two paging-helper Methods, <code>GetNextPage(Paging&lt;T&gt; page)</code> and <code>GetPreviousPage(Paging&lt;T&gt; page)</code>.
Both are an easy way to receive the next/previous page of a Paging-Object.</p>
<p>Sample:</p>
<pre><code class="csharp">var playlistTracks = _spotify.GetPlaylistTracks(&quot;1122095781&quot;, &quot;4EcNf2l8rXInbJOf3tQdgU&quot;, &quot;&quot;, 50);
while (true)
{
Console.WriteLine(playlistTracks.Items.Count);
if (!playlistTracks.HasNextPage())
break;
playlistTracks = _spotify.GetNextPage(playlistTracks);
}
</code></pre></div>
</div>
<script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="../../js/bootstrap-3.0.3.min.js"></script>
<script src="../../js/base.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js"></script>
<script src="../../highlight.js"></script>
</body>
</html>

View File

@ -1,219 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="API Docs for SpotifyAPI-NET">
<meta name="author" content="JohnnyCrazy">
<link rel="shortcut icon" href="./img/favicon.ico">
<title>SpotifyAPI-NET</title>
<link href="./css/bootstrap-custom.min.css" rel="stylesheet">
<link href="./css/font-awesome-4.0.3.css" rel="stylesheet">
<link href="./css/prettify-1.0.css" rel="stylesheet">
<link href="./css/base.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.6/styles/agate.min.css">
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<!-- Collapsed navigation -->
<div class="navbar-header">
<!-- Expander button -->
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<!-- Main title -->
<a class="navbar-brand" href=".">SpotifyAPI-NET</a>
</div>
<!-- Expanded navigation -->
<div class="navbar-collapse collapse">
<!-- Main navigation -->
<ul class="nav navbar-nav">
<li class="active">
<a href=".">Home</a>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">SpotifyWebAPI <b class="caret"></b></a>
<ul class="dropdown-menu">
<li >
<a href="SpotifyWebAPI/gettingstarted/">Getting started</a>
</li>
<li >
<a href="SpotifyWebAPI/examples/">Examples</a>
</li>
<li >
<a href="SpotifyWebAPI/auth/">Authentication</a>
</li>
<li >
<a href="SpotifyWebAPI/albums/">- Albums</a>
</li>
<li >
<a href="SpotifyWebAPI/artists/">- Artists</a>
</li>
<li >
<a href="SpotifyWebAPI/browse/">- Browse</a>
</li>
<li >
<a href="SpotifyWebAPI/follow/">- Follow</a>
</li>
<li >
<a href="SpotifyWebAPI/library/">- Library</a>
</li>
<li >
<a href="SpotifyWebAPI/player/">- Player</a>
</li>
<li >
<a href="SpotifyWebAPI/playlists/">- Playlists</a>
</li>
<li >
<a href="SpotifyWebAPI/profiles/">- Profiles</a>
</li>
<li >
<a href="SpotifyWebAPI/search/">- Search</a>
</li>
<li >
<a href="SpotifyWebAPI/tracks/">- Tracks</a>
</li>
<li >
<a href="SpotifyWebAPI/util/">- Util</a>
</li>
</ul>
</li>
<li >
<a href="SpotifyLocalAPI/">SpotifyLocalAPI</a>
</li>
</ul>
<!-- Search, Navigation and Repo links -->
<ul class="nav navbar-nav navbar-right">
<li class="disabled">
<a rel="next" >
<i class="fa fa-arrow-left"></i> Previous
</a>
</li>
<li >
<a rel="prev" href="SpotifyWebAPI/gettingstarted/">
Next <i class="fa fa-arrow-right"></i>
</a>
</li>
<li>
<a href="https://github.com/JohnnyCrazy/SpotifyAPI-NET">
<i class="fa fa-github"></i>
GitHub
</a>
</li>
</ul>
</div>
</div>
</div>
<div class="container">
<div class="col-md-3"><div class="bs-sidebar hidden-print affix well" role="complementary" style="height=90%;">
<ul class="nav bs-sidenav">
<li class="main active"><a href="#spotifyapi-net-documentation">SpotifyAPI-NET Documentation</a></li>
<li><a href="#about">About</a></li>
<li><a href="#installing">Installing</a></li>
<li><a href="#projects">Projects</a></li>
</ul>
</div></div>
<div class="col-md-9" role="main">
<h1 id="spotifyapi-net-documentation">SpotifyAPI-NET Documentation</h1>
<h2 id="about">About</h2>
<p>This Library, written in C#/.NET, combines two independent SpotifyAPIs into one.</p>
<p><strong>Spotify's Web API</strong> (<a href="https://developer.spotify.com/web-api/">link</a>)</p>
<blockquote>
<p>Based on simple REST principles, our Web API endpoints return metadata in JSON format about artists, albums, and tracks directly from the Spotify catalogue.
The API also provides access to user-related data such as playlists and music saved in a “Your Music” library, subject to users authorization.</p>
</blockquote>
<p><strong>Spotify's <em>unofficial</em> Local API</strong></p>
<blockquote>
<p>Do you ever wanted to control your local Spotify Client with some sort of API? Now you can! This API gives you full control over your spotify client.
You can get infos about the currently playing song, get its Album-Art, skip/pause and much more. It also features multiple Event-Interfaces.</p>
</blockquote>
<p>Both combined can be used for any kind of application.</p>
<hr />
<h2 id="installing">Installing</h2>
<ul>
<li>Via NuGet Package:</li>
</ul>
<pre><code class="cs">Install-Package SpotifyAPI-NET
//or
Install-Package SpotifyAPI-NET -pre
</code></pre>
<ul>
<li>Download the latest binaries on the <a href="https://github.com/JohnnyCrazy/SpotifyAPI-NET/releases">GitHub Release Page</a> and add it to your Project</li>
<li>Clone the Repo and build the project on your local machine.</li>
</ul>
<hr />
<h2 id="projects">Projects</h2>
<h3 id="spofy-by-eltoncezar"><a href="https://github.com/eltoncezar/Spofy">Spofy</a> by <a href="https://github.com/eltoncezar">@eltoncezar</a></h3>
<blockquote>
<p>A Spotify mini player and notifier for Windows</p>
</blockquote></div>
</div>
<script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="./js/bootstrap-3.0.3.min.js"></script>
<script src="./js/base.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.4/highlight.min.js"></script>
<script src="./highlight.js"></script>
</body>
</html>

File diff suppressed because one or more lines are too long

View File

@ -1,8 +1,12 @@
require.config({
baseUrl: base_url + "/search/"
});
require([
base_url + '/mkdocs/js/mustache.min.js',
base_url + '/mkdocs/js/lunr.min.js',
'mustache.min',
'lunr.min',
'text!search-results-template.mustache',
'text!../search_index.json',
'text!search_index.json',
], function (Mustache, lunr, results_template, data) {
"use strict";
@ -83,6 +87,6 @@ require([
search();
}
search_input.addEventListener("keyup", search);
if (search_input){search_input.addEventListener("keyup", search);}
});

View File

@ -1,108 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
{% for nav_item in nav %}
{% if nav_item.children %}
{% for nav_item in nav_item.children %}
<url>
<loc>/</loc>
<lastmod>2017-09-30</lastmod>
<loc>{{ config.site_url }}{{ nav_item.abs_url }}</loc>
<lastmod>{{nav_item.update_date}}</lastmod>
<changefreq>daily</changefreq>
</url>
{% endfor %}
{% else %}
<url>
<loc>/SpotifyWebAPI/gettingstarted/</loc>
<lastmod>2017-09-30</lastmod>
<loc>{{ config.site_url }}{{ nav_item.abs_url }}</loc>
<lastmod>{{nav_item.update_date}}</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>/SpotifyWebAPI/examples/</loc>
<lastmod>2017-09-30</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>/SpotifyWebAPI/auth/</loc>
<lastmod>2017-09-30</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>/SpotifyWebAPI/albums/</loc>
<lastmod>2017-09-30</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>/SpotifyWebAPI/artists/</loc>
<lastmod>2017-09-30</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>/SpotifyWebAPI/browse/</loc>
<lastmod>2017-09-30</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>/SpotifyWebAPI/follow/</loc>
<lastmod>2017-09-30</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>/SpotifyWebAPI/library/</loc>
<lastmod>2017-09-30</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>/SpotifyWebAPI/player/</loc>
<lastmod>2017-09-30</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>/SpotifyWebAPI/playlists/</loc>
<lastmod>2017-09-30</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>/SpotifyWebAPI/profiles/</loc>
<lastmod>2017-09-30</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>/SpotifyWebAPI/search/</loc>
<lastmod>2017-09-30</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>/SpotifyWebAPI/tracks/</loc>
<lastmod>2017-09-30</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>/SpotifyWebAPI/util/</loc>
<lastmod>2017-09-30</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>/SpotifyLocalAPI/</loc>
<lastmod>2017-09-30</lastmod>
<changefreq>daily</changefreq>
</url>
</urlset>
{% endif %}
{% endfor %}
</urlset>