Estoy tratando de crear una aplicación con la API de Spotify, pero parece que no puedo hacer que funcione. El error que recibo es que la 'solicitud' no está definida y también la reemplacé con JQuery y eso tampoco funciona. ¿Alguien puede decirme por qué podría estar recibiendo ese error y cómo solucionarlo? ¿Debería ejecutarlo dentro de node.js en cmd?
var client_id = '?'; var client_secret = '?'; var authOptions = { url: 'https://accounts.spotify.com/api/token', headers: { 'Authorization': 'Basic ' + (new Buffer(client_id + ':' + client_secret).toString('base64')) }, form: { grant_type: 'client_credentials' }, json: true }; request.post(authOptions, function(error, response, body) { if (!error && response.statusCode === 200) { var token = body.access_token; } else { console.log(JSON.stringify(error)) } });
La documentación de Spotify está desactualizada, ya que la request
está obsoleta y ya no debe usarse.
En su lugar, puede realizar una solicitud con las bibliotecas integradas de Node.js, como se menciona en la documentación .
Debe ejecutarse con node.js
, es decir, node <filename>
const https = require('https') const client_id = 'CLIENT_ID' const client_secret = 'CLIENT_SECRET' const reqBody = JSON.stringify({ grant_type: 'client_credentials' }) const authOptions = { hostname: 'accounts.spotify.com', port: 443, path: '/api/token', method: 'POST', headers: { 'Authorization': 'Basic ' + (new Buffer.from(client_id + ':' + client_secret).toString('base64')), 'Content-Type': 'application/json', 'Content-Length': reqBody.length } } const req = https.request(authOptions, res => { console.log(`statusCode: ${res.statusCode}`) res.on('data', d => { process.stdout.write(d) }) }) req.write(reqBody); req.end();