Spotify.NET/SpotifyAPI.Docs/docs/SpotifyWebAPI/gettingstarted.md
2017-05-31 18:09:45 +02:00

5.5 KiB

Getting started

This API provides full access to the new SpotifyWebAPI introduced here.
With it, you can search for Tracks/Albums/Artists and also get User-based information.
It's also possible to create new playlists and add tracks to it.


First steps

Imports
So after you added the API to your project, you may want to add following imports to your files:

using SpotifyAPI.Web; //Base Namespace
using SpotifyAPI.Web.Auth; //All Authentication-related classes
using SpotifyAPI.Web.Enums; //Enums
using SpotifyAPI.Web.Models; //Models for the JSON-responses

Basic-Usage
Now you can actually start doing calls to the SpotifyAPI, just create a new Instance of SpotifyWebAPI:

private static SpotifyWebAPI _spotify;

public static void Main(String[] args)
{
        _spotify = new SpotifyWebAPI()
        {
            UseAuth = false, //This will disable Authentication.
        }
        FullTrack track = _spotify.GetTrack("3Hvu1pq89D4R0lyPBoujSv");
        Console.WriteLine(track.Name); //Yeay! We just printed a tracks name.
        //...
}

Authentication

If you look through the available API-Methods, you will soon notice nearly all of them require Authentication. Further infos on how to implement Authentication can be found here


Examples

A list of small examples can be found here. Do you think a specific example is missing? Feel free to open a PR/Issue!


Error-Handling

Every API-Call returns a reponse-model which consists of base-error model. To check if a specific API-Call was successful, use the following approach:

PrivateProfile profile = _spotify.GetPrivateProfile();
if (profile.HasError())
{
    Console.WriteLine("Error Status: " + profile.Error.Status);
    Console.WriteLine("Error Msg: " + profile.Error.Message);
}

Asynchronous

Every API-Call now has an asynchronous method. Just append Async to the Method-Name.
Example:

public async void Test()
{
    var profile = await _spotify.GetPrivateProfileAsync();
    Console.WriteLine(profile.DisplayName);
}

API-Reference

Albums

Artists

Browse

Follow

Library

Player

Playlists

Profiles

Tracks

Util