, spotipy javascript. , api , , . , Implicit Grant:
#In your main page <script>:
var loginSpotify = function(){
var SPOTIPY_CLIENT_ID = "Your Client ID Here"
var SPOTIPY_REDIRECT_URI = "Your Django Callback View Here (www.example.com/callback/)"
var spotifyScope = "playlist-read-private"
var spotifyAuthEndpoint = "https://accounts.spotify.com/authorize?"+"client_id="+SPOTIPY_CLIENT_ID+"&redirect_uri="+SPOTIPY_REDIRECT_URI+"&scope="+spotifyScope+"&response_type=token&state=123";
window.open(spotifyAuthEndpoint,'callBackWindow','height=500,width=400');
window.addEventListener("storage",function(event){
if (event.key == "accessToken"){
var spAccessToken = event.newValue;
}
});
}
, . Django. , URI:
def callback(request):
return render(request, 'YourApp/spotifyLoginFinish.html',{})
, URI , , : http://www.example.com/callback/#access_token=BQDoPzyrkeWu7xJegj3v1JDgQXWzxQk2lgXrQYonXkXIrhmjeJVS38PFthMtffwlkeWJlwejkwewlHaIaOmth_2UJ2xJrz2x-Voq0k0T0T4SuCUdIGY3w3cj5CpULkFla9zwKKjvdauM2KoUIQa1vULz-w8Da83x1&token_type=Bearer&expires_in=3600&state=123
Idk, jquery , JS . , , , - URI , . , , localStorage. , , localStorage, , . , ( jquery, JS ):
#In spotifyLoginFinish.html <script>:
$('document').ready(function(){
var spotifyAccessToken = parseHash(String(window.location.hash));
localStorage.clear();
localStorage.setItem('accessToken', spotifyAccessToken);
window.close();
});
, localStorage . localStorage, ! , , , , .