Spotify 隐式授权流程 - 缺少必需参数:client_id
Spotify Implicit Grant Flow- Missing required parameter: client_id
我遇到了一个我不明白的问题!
我正在开发一个 react-native (js) 应用程序,它尝试使用隐式授权流访问 Spotify api。
这是我获取访问令牌的方法:
async function getTokenFromAPI() {
try {
var params = {
client_id: '<client_id>',
response_type: 'token',
redirect_uri: 'http://localhost:8888/callback'
};
var esc = encodeURIComponent;
var query = Object.keys(params)
.map(k => `${esc(k)}=${esc(params[k])}`)
.join('&');
fetch('https://accounts.spotify.com/authorize', query).then(function (response) {
console.log('response, ' + JSON.stringify(response));
return response;
})
} catch(error) {
console.error(error);
}
}
但它回答说:
Missing required parameter: client_id
我还使用 Postman 检查我的请求是否正确,我得到了相同的响应...
有什么问题吗?在他们的 doc 上,他们说这是一个只有 3 个参数的 GET 方法..
提前感谢您提供任何解决方法!
您将查询参数作为选项提供给 fetch
,而不是将其添加到 url。
改变这个
fetch('https://accounts.spotify.com/authorize', query).then(function () { ... })
至此
fetch(`https://accounts.spotify.com/authorize${query}`).then(function () { ... })
我遇到了一个我不明白的问题! 我正在开发一个 react-native (js) 应用程序,它尝试使用隐式授权流访问 Spotify api。
这是我获取访问令牌的方法:
async function getTokenFromAPI() {
try {
var params = {
client_id: '<client_id>',
response_type: 'token',
redirect_uri: 'http://localhost:8888/callback'
};
var esc = encodeURIComponent;
var query = Object.keys(params)
.map(k => `${esc(k)}=${esc(params[k])}`)
.join('&');
fetch('https://accounts.spotify.com/authorize', query).then(function (response) {
console.log('response, ' + JSON.stringify(response));
return response;
})
} catch(error) {
console.error(error);
}
}
但它回答说:
Missing required parameter: client_id
我还使用 Postman 检查我的请求是否正确,我得到了相同的响应...
有什么问题吗?在他们的 doc 上,他们说这是一个只有 3 个参数的 GET 方法..
提前感谢您提供任何解决方法!
您将查询参数作为选项提供给 fetch
,而不是将其添加到 url。
改变这个
fetch('https://accounts.spotify.com/authorize', query).then(function () { ... })
至此
fetch(`https://accounts.spotify.com/authorize${query}`).then(function () { ... })