gpt4 book ai didi

javascript - cityiq API 时的 “Unauthorized” 响应

转载 作者:行者123 更新时间:2023-12-03 00:45:19 26 4
gpt4 key购买 nike

我正在尝试访问由 GE CityIQ API 提供支持的 Current 来开发 parking 应用程序,我遵循了 API 文档,但是我似乎无法成功查询,因为我没有访问 token 。我有用户名和密码以及我正在使用的城市提供的 parking 网址和 predix 区域 ID。当我尝试运行 JavaScript 并记录我的访问 token 时,响应为“未经授权”。我是否必须向城市提出访问 token 请求?

该代码是用 JavaScript 编写的,并使用 Node.js 和 Node-fetch。

这是我的代码:

const fetch = require("node-fetch")
function request(url, headers, body) {
let options = { headers: headers, body:body}
return fetch(url, options).then(result => {
if (result.status>=400) return(result.statusText)
else return result.text().then(txt => {
try { return JSON.parse(txt) }
catch (err) { return txt }
})
})
}
// my credentials
const developer, uaa, metadataservice, eventservice, predixZone

developer = '{user}:{pass}'
uaa='{uaaURL}'
eventservice='{eventURL}'
metadataservice='{metadataURL}'
predixZone='{predixzoneParking}'

async function example(event){
let devToken = (await request(uaa+'?grant_type=client_credentials', {authorization: 'Basic '+developer}))
console.log(devToken)
let output = (await request(metadataservice+'/assets/search?q=eventTypes:PKIN',{authorization: 'Bearer '+devToken,'predix-zone-id':predixZone})).content
console.log(output)
}
example()

我做错了什么或可能遗漏了什么?

最佳答案

您似乎没有对您的用户名和密码进行 Base64 编码。
在代码顶部:

const btoa = str => new Buffer(str).toString('base64')

当您声明您的用户名并传递时:

developer = btoa('{user}:{pass}')

关于javascript - cityiq API 时的 “Unauthorized” 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53273491/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com