{"status":400,"message":"missing client id"} 使用节点获取时的响应
{"status":400,"message":"missing client id"} response when using node-fetch
我正在尝试从 Twitch 获取 oauth 令牌,并使用以下代码:
import dotenv from 'dotenv';
dotenv.config();
import fetch from 'node-fetch';
let creds = {
client_id:process.env.CLIENT_ID,
client_secret:process.env.CLIENT_SECRET,
grant_type:"client_credentials"
};
let request = {
method:'POST',
header:{ "Content-Type": "application/json" },
body:creds
};
console.log(request);
fetch(process.env.AUTH_URL,request)
.then (res => res.text())
.then (text => console.log(text))
在适当的地方使用我的秘密和客户端 ID。但是它不断返回:
{"status":400,"message":"missing client id"}
我做错了什么?
您需要在发送之前对正文进行字符串化,并且 headers
而不是 header
。
let request = {
method:'POST',
headers:{ "Content-Type": "application/json" },
body:JSON.stringify(creds)
};
此外,可能使用 res.json()
代替,因为 return 数据可能 json
.
fetch(process.env.AUTH_URL,request)
.then (res => res.json())
.then (text => console.log(text))
我正在尝试从 Twitch 获取 oauth 令牌,并使用以下代码:
import dotenv from 'dotenv';
dotenv.config();
import fetch from 'node-fetch';
let creds = {
client_id:process.env.CLIENT_ID,
client_secret:process.env.CLIENT_SECRET,
grant_type:"client_credentials"
};
let request = {
method:'POST',
header:{ "Content-Type": "application/json" },
body:creds
};
console.log(request);
fetch(process.env.AUTH_URL,request)
.then (res => res.text())
.then (text => console.log(text))
在适当的地方使用我的秘密和客户端 ID。但是它不断返回:
{"status":400,"message":"missing client id"}
我做错了什么?
您需要在发送之前对正文进行字符串化,并且 headers
而不是 header
。
let request = {
method:'POST',
headers:{ "Content-Type": "application/json" },
body:JSON.stringify(creds)
};
此外,可能使用 res.json()
代替,因为 return 数据可能 json
.
fetch(process.env.AUTH_URL,request)
.then (res => res.json())
.then (text => console.log(text))