Javascript 如何使用fetch获取令牌API
我必须从一个“ile de France mobilité”API的url获取令牌,我正在使用Fetch,我不知道如何做到这一点。这是我的实际代码:Javascript 如何使用fetch获取令牌API,javascript,node.js,api,fetch,Javascript,Node.js,Api,Fetch,我必须从一个“ile de France mobilité”API的url获取令牌,我正在使用Fetch,我不知道如何做到这一点。这是我的实际代码: var client_id = "(my client_id)"; var client_secret = "(my client_secret)"; // var url_get = "https://traffic.api.iledefrance-mobilites.fr
var client_id = "(my client_id)";
var client_secret = "(my client_secret)";
// var url_get = "https://traffic.api.iledefrance-mobilites.fr/v1/tr-global/estimated-timetable";
var grant_type = 'client_credentials'
var token_url = 'https://as.api.iledefrance-mobilites.fr/api/oauth/token'
var scope = 'read-data'
const options = {
method: 'POST',
headers: {
'Content-Type' : 'application/x-www-form-urlencoded',
},
body: {
grant_type: grant_type,
client_id: client_id,
client_secret: client_secret,
scope: scope
}
}
const fetch_response = await fetch(token_url, options)
const json = await fetch_response
console.log(json)
response.json(json)
我有答案
“其他斯图夫和:”
[Symbol(Response internals)]: {
url: 'https://as.api.iledefrance-mobilites.fr/api/oauth/token',
status: 401,
statusText: 'Unauthorized',
headers: Headers { [Symbol(map)]: [Object: null prototype] },
counter: 0
}
}
有人知道怎么做吗
在my index.html中,我将此脚本称为:
async function asyncCall() {
const api_url = `/trajet`
const response = await fetch(api_url, {method: 'POST'})
const json = await response
//console.log(json)
}
asyncCall()
服务器:
const app = express()
app.listen(3000, () => console.log('listening at 3000'))
app.use(express.static('public'))
app.use(express.json())
app.use(bodyParser.json())
HTTP状态代码401 Unauthorized表示您的请求缺少有效的身份验证凭据。所以你的身体一定有问题 尝试以以下格式发送正文:
body: 'grant_type=client_credentials&client_id=' + key + '&client_secret=' + secret,
我的路线是:
app.post('/trajet',async(request,response)=>
,我的路线是不相关的,因为你的代码从不访问该路线-你在浏览器中发布的代码是吗?这会非常奇怪(而且不安全)如果是这样的话,无论如何const json=await fetch\u response
应该是const json=await fetch\u response.json()
作为开始,不要在评论中发布代码-我想你误解了fetch
response…如果response=await fetch
那么这不是承诺…你需要使用像.text()这样的方法之一或.json()等来访问响应data@JaromandaX那么,我如何向您展示我的代码呢?谢谢它的有效性谢谢各位,我有一个问题,我该如何回答您呢?非常欢迎。只需单击“✓ " 灰色符号,接受它作为答案。