Spotify Oauth2文档-客户端凭证流
我问了一个类似的问题,我能够让代码在google apps脚本(javascript)中运行。我正在使用客户端凭据流。然而,我试图在Nodejs中重新创建这段代码。运行这段代码时,我收到一个服务器错误。
error: "server_error"
这是Nodejs中的问题代码
const defaultConfig = {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json',
// this encodes the app_id and api_key into a base64 string like the documentation states
'Authorization': `Basic ${btoa(spotify.API_ID + ':' + spotify.API_KEY)}`
},
body: JSON.stringify({
'grant_type': 'client_credentials',
})
};
// this function is wrapped in a list titled, "apiSettings" with other functions. I just included the authorization function here:
const apiSettings = {
getSpotifyAuthorizeToken: async () => {
const endpoint = "https://accounts.spotify.com/api/token";
return await (await fetch(endpoint, defaultConfig)).json();
},
};
我在谷歌应用程序脚本中使用了类似的代码,没有任何问题。
服务器错误可能是我在“localhost:xxxx”上运行Nodejs的结果吗?该文档指出,“客户端凭据流用于服务器到服务器的身份验证。”
如果不是这种情况,您能否提供一个工作
请求令牌时Spotify API OAUTH2服务器错误响应
从您之前的问题中,我想提出以下示例脚本。
如果要把这个答案的脚本转换成Node.js和node-fetch,下面这个脚本怎么样?
const spotify = { API_ID: "API_ID", API_KEY: "API_KEY" }; // Please set your client ID and client secret.
const buf = Buffer.from(spotify.API_ID + ":" + spotify.API_KEY);
const para = new URLSearchParams();
para.append("grant_type", "client_credentials");
const defaultConfig = {
method: "POST",
headers: { Authorization: `Basic ${buf.toString("base64")}` },
body: para,
};
const apiSettings = {
getSpotifyAuthorizeToken: async () => {
const endpoint = "https://accounts.spotify.com/api/token";
return await (await fetch(endpoint, defaultConfig)).json();
},
};
如果要把这个答案的脚本转换成Node.js和node-fetch,下面这个脚本怎么样?
const spotify = { API_ID: "API_ID", API_KEY: "API_KEY" }; // Please set your client ID and client secret.
const para = new URLSearchParams();
para.append("grant_type", "client_credentials");
para.append("client_id", spotify.API_ID);
para.append("client_secret", spotify.API_KEY);
const defaultConfig = {
method: "POST",
body: para,
};
const apiSettings = {
getSpotifyAuthorizeToken: async () => {
const endpoint = "https://accounts.spotify.com/api/token";
return await (await fetch(endpoint, defaultConfig)).json();
},
};
我正在尝试从访问代码中获取访问令牌。但存在 400 错误请求错误的错误 我正在使用此链接获取访问代码 https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx 响应此链接,我正在获取查询字符串中的代码,返回 URL 代码=Mh12d04c8
我正在尝试通过服务器到服务器方法与我的应用程序启用的BigQuery API进行通信。 我已经勾选了谷歌指南上的所有方框,以尽可能用C#构建我的JWT。 我已经对所有必要的东西进行了Base64Url编码。 然而,我从谷歌得到的唯一回复是400错误请求 我已经从其他SO问题中确定了以下所有内容: 使用 RSA 和 SHA256 正确加密签名 我正在使用 POST 并使用应用程序/x-www-表单-
我可以获得帐户ID为#10540382的JWT访问令牌,这是我为我们公司的电子签名实现创建的。我用这个帐户完成了JWT实现,一切顺利。但是现在公司提供了我的新帐户ID#11024495。但是有了这个新帐户,我没有获得访问令牌。令牌APIhttps://account-d.docusign.com/oauth/token现在返回“远程服务器返回错误:(400)错误请求”。 DocuSign的人能帮我
以下是我发送的更详细的数据(当然是经过审查的) 我明白这里的问题和我的非常相似,但所有提供的解决方案要么不工作(url编码),要么不适用(其他一切)。 我正在使用这份官方文件作为参考。 这可能非常明显,就像我在这里问的大多数问题一样。 编辑-我试过了 ...它返回了400。带或不带URL编码。
我运行了keybeave实例 然后参观http://localhost:8080/auth/realms/master/protocol/openid-连接/令牌,获取内部服务器错误: 所以 > 哪里出错了,如何修复内部服务器错误?