Я использую токены Spotify Web API для манипулирования данными разных пользователей, поэтому первое, что я использую, это то, что отображается на Spotify для веб-сайта разработчика . Затем токены отправляются клиенту Python, который обрабатывает эти данные и отправляет обратно на сервер через сокет разных цветов, связанных с разными токенами. Моя проблема заключается в следующем:
В настоящее время я могу запускать только разные страницы на http://localhost:8888/
. Я могу получить разные токены со всех страниц, которые входят в Spotify, и затем обратный вызов перенаправляет пользователя на страницу с некоторыми данными из его профиля. Теперь я хочу, чтобы сервер отправлял разные цвета на каждую страницу, различая их по токену, который получил сервер. Вот я и подумал примерно так:
JavaScript код в HTML Страница:
<script>
timer = setInterval(function() {
$.ajax({
url: '/obtain_color',
data: {
'access_token': access_token
}
}).done(function(colore) {
console.log("access: " + access_token);
console.log(String(colore));
document.body.style.backgroundColor = "rgb" + String(colore);
})
}, 5*1000);
</script>
А на Node.Js сервере:
var app = express();
var server = require('http').createServer(app);
var io = require('socket.io')(server);
app.use(express.static(__dirname + '/public'))
.use(cors())
.use(cookieParser());
var tokens_array = [];
var color_array = []; // THIS VALUES ARE COLLECTED IN OTHER PARTS OF THE CODE
// SO THEY GOT VALUES INSIDE
app.get('/obtain_color', function(req,res) {
io.on('connection', function(socket){
socket.on('risposta client', function (msg) {
color_array.push(msg);
});
});
for (var i = 0; i <tokens_array.length; i++) {
for (var j = 0; i < color_array.length; i++) {
if (String(tokens_array[i]) == String(Object.keys(color_array[j]))){
console.log(String(color_array[j][tokens_array[i]]));
console.log(tokens_array[i]);
res.send(String(color_array[j][tokens_array[i]]));
}
}
}
});
Что Вместо этого я получаю, что каждая страница окрашена только первым цветом первого полученного токена. Как будто сервер не может определить другую страницу, связанную с ним, и отправить их обратно нужного цвета.
Надеюсь, я хорошо объяснил, если нет, я здесь, чтобы уточнить лучше:)