作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试访问由 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/
我正在尝试访问由 GE CityIQ API 提供支持的 Current 来开发 parking 应用程序,我遵循了 API 文档,但是我似乎无法成功查询,因为我没有访问 token 。我有用户名和密
我是一名优秀的程序员,十分优秀!