/*! For license information please see c4f5d8e4.34e9eea3.js.LICENSE.txt */ (self.webpackChunkspotify_api_docs=self.webpackChunkspotify_api_docs||[]).push([[4195],{8215:function(e,t,r){"use strict";var n=r(7294);t.Z=function(e){var t=e.children,r=e.hidden,a=e.className;return n.createElement("div",{role:"tabpanel",hidden:r,className:a},t)}},5064:function(e,t,r){"use strict";r.d(t,{Z:function(){return u}});var n=r(7294),a=r(9443);var o=function(){var e=(0,n.useContext)(a.Z);if(null==e)throw new Error('"useUserPreferencesContext" is used outside of "Layout" component.');return e},i=r(6010),l="tabItem_1uMI",c="tabItemActive_2DSg";var s=37,d=39;var u=function(e){var t=e.lazy,r=e.block,a=e.defaultValue,u=e.values,f=e.groupId,h=e.className,p=o(),m=p.tabGroupChoices,g=p.setTabGroupChoices,v=(0,n.useState)(a),b=v[0],w=v[1],y=n.Children.toArray(e.children),E=[];if(null!=f){var x=m[f];null!=x&&x!==b&&u.some((function(e){return e.value===x}))&&w(x)}var k=function(e){var t=e.currentTarget,r=E.indexOf(t),n=u[r].value;w(n),null!=f&&(g(f,n),setTimeout((function(){var e,r,n,a,o,i,l,s;(e=t.getBoundingClientRect(),r=e.top,n=e.left,a=e.bottom,o=e.right,i=window,l=i.innerHeight,s=i.innerWidth,r>=0&&o<=s&&a<=l&&n>=0)||(t.scrollIntoView({block:"center",behavior:"smooth"}),t.classList.add(c),setTimeout((function(){return t.classList.remove(c)}),2e3))}),150))},C=function(e){var t,r;switch(e.keyCode){case d:var n=E.indexOf(e.target)+1;r=E[n]||E[0];break;case s:var a=E.indexOf(e.target)-1;r=E[a]||E[E.length-1]}null==(t=r)||t.focus()};return n.createElement("div",{className:"tabs-container"},n.createElement("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,i.Z)("tabs",{"tabs--block":r},h)},u.map((function(e){var t=e.value,r=e.label;return n.createElement("li",{role:"tab",tabIndex:b===t?0:-1,"aria-selected":b===t,className:(0,i.Z)("tabs__item",l,{"tabs__item--active":b===t}),key:t,ref:function(e){return E.push(e)},onKeyDown:C,onFocus:k,onClick:k},r)}))),t?(0,n.cloneElement)(y.filter((function(e){return e.props.value===b}))[0],{className:"margin-vert--md"}):n.createElement("div",{className:"margin-vert--md"},y.map((function(e,t){return(0,n.cloneElement)(e,{key:t,hidden:e.props.value!==b})}))))}},6918:function(e,t,r){"use strict";var n=r(8300),a=r(8215),o=r(5064),i=r(7294);t.Z=function(){return i.createElement("div",{style:{padding:"10px"}},i.createElement(o.Z,{defaultValue:"cli",values:[{label:".NET CLI",value:"cli"},{label:"Package Manager",value:"nuget"},{label:"Package Reference",value:"reference"}]},i.createElement(a.Z,{value:"cli"},i.createElement(n.Z,{metastring:"shell",className:"shell"},"dotnet add package SpotifyAPI.Web\n# Optional Auth module, which includes an embedded HTTP Server for OAuth2\ndotnet add package SpotifyAPI.Web.Auth\n")),i.createElement(a.Z,{value:"nuget"},i.createElement(n.Z,{metastring:"shell",className:"shell"},"Install-Package SpotifyAPI.Web\n# Optional Auth module, which includes an embedded HTTP Server for OAuth2\nInstall-Package SpotifyAPI.Web.Auth\n")),i.createElement(a.Z,{value:"reference"},i.createElement(n.Z,{metastring:"xml",className:"xml"},'\n\x3c!-- Optional Auth module, which includes an embedded HTTP Server for OAuth2 --\x3e\n\n'))))}},3105:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return b}});var n=r(3117),a=r(6742),o=r(4996),i=r(2263),l=r(8300),c=r(2273),s=(r(8215),r(5064),r(4184)),d=r.n(s),u=r(7294);class f extends u.PureComponent{constructor(e){super(e),this.$=u.createRef(),this._=u.createRef()}render(){return u.createElement("span",{ref:this.$},u.createElement("a",{...this.props,ref:this._},this.props.children))}componentDidMount(){this.paint()}getSnapshotBeforeUpdate(){return this.reset(),null}componentDidUpdate(){this.paint()}componentWillUnmount(){this.reset()}paint(){const e=this.$.current.appendChild(document.createElement("span"));Promise.resolve().then(r.bind(r,9984)).then((({render:t})=>{t(e.appendChild(this._.current),(function(t){try{e.parentNode.replaceChild(t,e)}catch(e){}}))}))}reset(){this.$.current.replaceChild(this._.current,this.$.current.lastChild)}}var h=f,p=r(6918),m={heroBanner:"heroBanner_3P7f",exampleCode:"exampleCode_PXaa",buttons:"buttons_1r9m",features:"features_3azU",featureImage:"featureImage_ZtzX"},g=[{title:u.createElement(u.Fragment,null,"Sane Defaults - Easy To Configure"),imageUrl:"img/undraw_preferences_uuo2.svg",description:function(){return u.createElement(u.Fragment,null,u.createElement("code",null,"SpotifyAPI-NET")," allows you to quickly integrate with Spotify's Web API by supplying sane configuration defaults from the start. Later on, behaviour can be customized using extensive configuration possibilities.")}},{title:u.createElement(u.Fragment,null,"All API Calls Integrated"),imageUrl:"img/undraw_project_completed_w0oq.svg",description:function(){return u.createElement(u.Fragment,null,"The Spotify Web API consists of over 74 API calls. ",u.createElement("code",null,"SpotifyAPI-NET")," provides fully typed requests/responses for all of them.")}},{title:u.createElement(u.Fragment,null,".NET Standard 2.X"),imageUrl:"img/undraw_Devices_e67q.svg",description:function(){return u.createElement(u.Fragment,null,"With the support of .NET Standard 2.X, ",u.createElement("code",null,"SpotifyAPI-NET")," runs on many platforms, including .NET Core, UWP and Xamarin.Forms (Windows, Android, iOS and Mac)")}},{title:u.createElement(u.Fragment,null,"Testable"),imageUrl:"img/undraw_QA_engineers_dg5p.svg",description:function(){return u.createElement(u.Fragment,null,u.createElement("code",null,"SpotifyAPI-NET")," is built on a modular structure, which allows easy testing through mocks and stubs. Learn more by visiting the ",u.createElement(a.Z,{to:(0,o.Z)("docs/unit_testing")},"Testing Guide"))}}];function v(e){var t=e.imageUrl,r=e.title,n=e.description,a=(0,o.Z)(t);return u.createElement("div",{className:d()("col col--4",m.feature)},a&&u.createElement("div",{className:"text--center"},u.createElement("img",{className:m.featureImage,src:a,alt:r})),u.createElement("h3",null,r),u.createElement("p",null,n()))}var b=function(){var e=(0,i.Z)().siteConfig,t=void 0===e?{}:e;return u.createElement(c.Z,{title:""+t.title,description:"Documentation for the C# .NET SpotifyAPI-NET Library"},u.createElement("header",{className:d()("hero hero--primary",m.heroBanner)},u.createElement("div",{className:"container"},u.createElement("div",{className:"row"},u.createElement("div",{className:"col col--5"},u.createElement("img",{src:"img/logo.svg",width:"120",height:"120"}),u.createElement("h1",{className:"hero__title"},t.title,u.createElement("span",{style:{marginLeft:"50px"}}),u.createElement(h,{href:"https://github.com/JohnnyCrazy/SpotifyAPI-NET","data-icon":"octicon-star","data-size":"large","data-show-count":"true","aria-label":"Star JohnnyCrazy/SpotifyAPI-NET on GitHub"},"Star"),u.createElement("br",null),u.createElement("a",{href:"https://www.nuget.org/packages/SpotifyAPI.Web/",rel:"noopener noreferrer"},u.createElement("img",{alt:"Nuget",src:"https://img.shields.io/nuget/vpre/SpotifyAPI.Web?label=SpotifyAPI.Web&style=flat-square"})," "),u.createElement("a",{href:"https://www.nuget.org/packages/SpotifyAPI.Web.Auth/",rel:"noopener noreferrer"},u.createElement("img",{alt:"Nuget",src:"https://img.shields.io/nuget/vpre/SpotifyAPI.Web.Auth?label=SpotifyAPI.Web.Auth&style=flat-square"}))),u.createElement("p",{className:"hero__subtitle"},t.tagline),u.createElement("div",{className:m.buttons},u.createElement(a.Z,{className:d()("button button--outline button--secondary button--lg",m.getStarted),to:(0,o.Z)("docs/introduction")},"Get Started"))),u.createElement("div",{className:d()("col col--7",m.exampleCode)},u.createElement(l.Z,{metastring:"csharp",className:"csharp"},'var spotify = new SpotifyClient("YourAccessToken");\n\nvar me = await spotify.UserProfile.Current();\nConsole.WriteLine($"Hello there {me.DisplayName}");\n\nawait foreach(\n var playlist in spotify.Paginate(await spotify.Playlists.CurrentUsers())\n)\n{\n Console.WriteLine(playlist.Name);\n}'))))),u.createElement("main",null,u.createElement("div",{className:"container"},u.createElement("h2",{style:{textAlign:"center",marginTop:"30px"}},"Try it out now"),u.createElement(p.Z,null)),g&&g.length&&u.createElement("section",{className:m.features},u.createElement("div",{className:"container"},u.createElement("div",{className:"row"},g.map((function(e,t){return u.createElement(v,(0,n.Z)({key:t},e))})))))))}},4184:function(e,t){var r;!function(){"use strict";var n={}.hasOwnProperty;function a(){for(var e=[],t=0;t'},heart:{width:12,height:16,path:''},eye:{width:16,height:16,path:''},star:{width:14,height:16,path:''},"repo-forked":{width:10,height:16,path:''},"repo-template":{width:14,height:16,path:''},"issue-opened":{width:14,height:16,path:''},"cloud-download":{width:16,height:16,path:''}},b={},w=function(e,t){var r=b[e]||(b[e]=[]);if(!(r.push(t)>1)){var n=function(e){var t;return function(){t||(t=1,e.apply(this,arguments))}}((function(){for(delete b[e];t=r.shift();)t.apply(null,arguments)}));if(d){var a=new i;f(a,"abort",n),f(a,"error",n),f(a,"load",(function(){var e;try{e=JSON.parse(a.responseText)}catch(t){return void n(t)}n(200!==a.status,e)})),a.open("GET",e),a.send()}else{var o=this||window;o._=function(e){o._=null,n(200!==e.meta.status,e.data)};var c=l(o.document)("script",{async:!0,src:e+(/\?/.test(e)?"&":"?")+"callback=_"}),s=function(){o._&&o._({meta:{}})};f(c,"load",s),f(c,"error",s),c.readyState&&function(e,t,r){var n="readystatechange",a=function(o){if(t.test(e.readyState))return h(e,n,a),r(o)};f(e,n,a)}(c,/de|m/,s),o.document.getElementsByTagName("head")[0].appendChild(c)}}},y=function(e,t,r){var n=l(e.ownerDocument),a=e.appendChild(n("style",{type:"text/css"})),o="body{margin:0}a{text-decoration:none;outline:0}.widget{display:inline-block;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:0;white-space:nowrap}.btn,.social-count{position:relative;display:inline-block;height:14px;padding:2px 5px;font-size:11px;font-weight:600;line-height:14px;vertical-align:bottom;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-repeat:repeat-x;background-position:-1px -1px;background-size:110% 110%;border:1px solid}.btn{border-radius:.25em}.btn:not(:last-child){border-radius:.25em 0 0 .25em}.social-count{border-left:0;border-radius:0 .25em .25em 0}.widget-lg .btn,.widget-lg .social-count{height:20px;padding:3px 10px;font-size:12px;line-height:20px}.octicon{display:inline-block;vertical-align:text-top;fill:currentColor}"+g(t["data-color-scheme"]);a.styleSheet?a.styleSheet.cssText=o:a.appendChild(e.ownerDocument.createTextNode(o));var i,c,d=n("a",{className:"btn",href:t.href,rel:"noopener",target:"_blank",title:t.title||void 0,"aria-label":t["aria-label"]||void 0,innerHTML:(i=t["data-icon"],c=/^large$/i.test(t["data-size"])?16:14,i=(""+i).toLowerCase().replace(/^octicon-/,""),s(v,i)||(i="mark-github"),'")},[" ",n("span",{},[t["data-text"]||""])]),u=e.appendChild(n("div",{className:"widget"+(/^large$/i.test(t["data-size"])?" widget-lg":"")},[d])),f=d.hostname.split(".").reverse();if(""===f[0]&&f.shift(),"com"!==f[0]||"github"!==f[1])return d.href="#",d.target="_self",void r(u);var h=f.length,p=(" /"+d.pathname).split(/\/+/);if(((2===h||3===h&&"gist"===f[2])&&"archive"===p[3]||2===h&&"releases"===p[3]&&"download"===p[4]||3===h&&"codeload"===f[2])&&(d.target="_top"),/^true$/i.test(t["data-show-count"])&&2===h){var m,b;if(!p[2]&&p[1])m=b="followers";else if(!p[3]&&p[2])b="stargazers_count",m="stargazers";else if(p[4]||"subscription"!==p[3])if(p[4]||"fork"!==p[3]){if("issues"!==p[3])return void r(u);b="open_issues_count",m="issues"}else b="forks_count",m="network/members";else b="subscribers_count",m="watchers";var y=p[2]?"/repos/"+p[1]+"/"+p[2]:"/users/"+p[1];w.call(this,"https://api.github.com"+y,(function(e,t){if(!e){var a=t[b];u.appendChild(n("a",{className:"social-count",href:t.html_url+"/"+m,rel:"noopener",target:"_blank","aria-label":a+" "+b.replace(/_count$/,"").replace("_"," ").slice(0,a<2?-1:void 0)+" on GitHub"},[(""+a).replace(/\B(?=(\d{3})+(?!\d))/g,",")]))}r(u)}))}else r(u)},E=window.devicePixelRatio||1,x=function(e){return(E>1?a.ceil(a.round(e*E)/E*2)/2:a.ceil(e))||0},k=function(e,t){e.style.width=t[0]+"px",e.style.height=t[1]+"px"},C=function(e,t){if(null!=e&&null!=t)if(e.getAttribute&&(e=function(e){for(var t={href:e.href,title:e.title,"aria-label":e.getAttribute("aria-label")},r=["icon","color-scheme","text","size","show-count"],n=0,a=r.length;n