(window.webpackJsonp=window.webpackJsonp||[]).push([[37],{169:function(e,t,n){"use strict";n.r(t),n.d(t,"frontMatter",(function(){return o})),n.d(t,"metadata",(function(){return l})),n.d(t,"rightToc",(function(){return c})),n.d(t,"default",(function(){return u}));var r=n(2),a=n(9),i=(n(0),n(188)),o={id:"introduction",title:"Introduction"},l={id:"introduction",title:"Introduction",description:'This open source library for the Spotify Web API provides an easy to use interface for .NET based languages, like C# and VisualBasic .NET. By using it you can query general spotify catalog information (tracks, albums and playlists), manage user-related content ("My Library", create and edit playlists) and control the users music players (play, stop, transfer playback, play specific track).',source:"@site/docs/introduction.md",permalink:"/SpotifyAPI-NET/docs/next/introduction",editUrl:"https://github.com/JohnnyCrazy/SpotifyAPI-NET/edit/master/SpotifyAPI.Docs/docs/introduction.md",version:"next",lastUpdatedBy:"dependabot[bot]",lastUpdatedAt:1611009085,sidebar:"docs",next:{title:"Getting Started",permalink:"/SpotifyAPI-NET/docs/next/getting_started"}},c=[{value:"Features",id:"features",children:[]}],p={rightToc:c};function u(e){var t=e.components,n=Object(a.a)(e,["components"]);return Object(i.b)("wrapper",Object(r.a)({},p,n,{components:t,mdxType:"MDXLayout"}),Object(i.b)("p",null,'This open source library for the Spotify Web API provides an easy to use interface for .NET based languages, like C# and VisualBasic .NET. By using it you can query general spotify catalog information (tracks, albums and playlists), manage user-related content ("My Library", create and edit playlists) and control the users music players (play, stop, transfer playback, play specific track).'),Object(i.b)("h2",{id:"features"},"Features"),Object(i.b)("p",null,"From version 6 onwards, the library was built with the following features included:"),Object(i.b)("ul",null,Object(i.b)("li",{parentName:"ul"},"\u2705 Typed responses and requests to over 74 endpoints. Complete and always up to date."),Object(i.b)("li",{parentName:"ul"},"\u2705 Supports ",Object(i.b)("inlineCode",{parentName:"li"},".NET 5.0")," and ",Object(i.b)("inlineCode",{parentName:"li"},".NET Standard 2.X"),", which includes all major platforms, including mobile:",Object(i.b)("ul",{parentName:"li"},Object(i.b)("li",{parentName:"ul"},Object(i.b)("inlineCode",{parentName:"li"},".NET Framework")),Object(i.b)("li",{parentName:"ul"},Object(i.b)("inlineCode",{parentName:"li"},"UWP")),Object(i.b)("li",{parentName:"ul"},Object(i.b)("inlineCode",{parentName:"li"},".NET Core")),Object(i.b)("li",{parentName:"ul"},Object(i.b)("inlineCode",{parentName:"li"},"Xamarin.Forms")))),Object(i.b)("li",{parentName:"ul"},"\u2705 Included ",Object(i.b)("inlineCode",{parentName:"li"},"HTTPClient"),", but feel free to bring your own!"),Object(i.b)("li",{parentName:"ul"},"\u2705 Logging supported"),Object(i.b)("li",{parentName:"ul"},"\u2705 Retry Handlers supported"),Object(i.b)("li",{parentName:"ul"},"\u2705 Proxy support"),Object(i.b)("li",{parentName:"ul"},"\u2705 Pagination support"),Object(i.b)("li",{parentName:"ul"},"\u2705 All OAuth2 Authentications supported for use in ",Object(i.b)("inlineCode",{parentName:"li"},"ASP .NET")," ",Object(i.b)("strong",{parentName:"li"},"and")," ",Object(i.b)("inlineCode",{parentName:"li"},"CLI")," apps"),Object(i.b)("li",{parentName:"ul"},"\u2705 Modular structure, for easy unit testing")))}u.isMDXComponent=!0},188:function(e,t,n){"use strict";n.d(t,"a",(function(){return s})),n.d(t,"b",(function(){return f}));var r=n(0),a=n.n(r);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var p=a.a.createContext({}),u=function(e){var t=a.a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):l({},t,{},e)),n},s=function(e){var t=u(e.components);return a.a.createElement(p.Provider,{value:t},e.children)},b={inlineCode:"code",wrapper:function(e){var t=e.children;return a.a.createElement(a.a.Fragment,{},t)}},d=Object(r.forwardRef)((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,o=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),s=u(n),d=r,f=s["".concat(o,".").concat(d)]||s[d]||b[d]||i;return n?a.a.createElement(f,l({ref:t},p,{components:n})):a.a.createElement(f,l({ref:t},p))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,o=new Array(i);o[0]=d;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l.mdxType="string"==typeof e?e:r,o[1]=l;for(var p=2;p