window.addEventListener("load", function() { var query = getQueryHash(window.location.hash); var redirect = window.location.protocol + "//" + window.location.hostname + "/o_callback"; var client_id; var response; var scope; if(query.spotify) { client_id = "b934ecdd173648f5bcd38738af529d58"; response = "token"; scope = "playlist-read-private ugc-image-upload playlist-read-collaborative user-read-private playlist-modify-public playlist-modify-private"; state = query.nonce; window.location.href = "https://accounts.spotify.com/authorize?client_id=" + client_id + "&scope=" + scope + "&show_dialog=false&response_type=" + response + "&redirect_uri=" + redirect + "&state=" + state; } else if (query.youtube) { client_id = "944988770273-butsmlr1aotlsskk8lmgvh0etqqekigf.apps.googleusercontent.com"; response = "token"; scope = "https://www.googleapis.com/auth/youtube"; state = query.nonce; //window.opener.callback(query); window.location.href = "https://accounts.google.com/o/oauth2/v2/auth?client_id=" + client_id + "&response_type=" + response + "&state=" + state + "&redirect_uri=" + redirect + "&scope=" + scope; } else { var query_parameters = getQueryHash(window.location.hash); window.opener.callback(query_parameters); } }); function getQueryHash(url) { var temp_arr = url.substring(1).split("&"); var done_obj = {}; var splitted; for(var i in temp_arr) { splitted = temp_arr[i].split("="); if(splitted.length == 2) { done_obj[splitted[0]] = splitted[1]; } } return done_obj; }