我在环回3.x中有我的API。首先,我创建了一个空项目,然后我在控制台中运行npm install loopback-connector-rest --save
和lb datasource
,以获得一个名为Userlike的外部API的链接。它是这个网址https://www.userlike.com/api/external/message/chat_meta/。
然后我创建了一个没有名为Messages的参数的模型。
我使用node .
时没有遇到任何问题,并且没有错误,在localhost:3000中我可以看到我的API。
但是当我在页面中点击GET 401时出现问题,因为要在Userlike中访问API我需要发送我的令牌以便我可以获取数据,所以我修改了datasources.json文件并且我有这个:
{
"userlikeRESTdatasource": {
"name": "userlikeRESTdatasource",
"baseURL": "https://www.userlike.com/api/external/message/chat_meta/",
"crud": false,
"connector": "rest",
"operations": [
{
"functions": {
"getMessages": []
},
"template": {
"method": "GET",
"url": "https://www.userlike.com/api/external/message/chat_meta/",
"headers": {
"accepts": "application/json",
"content-type": "application/json",
"authorization": "8c149a3d-4acf-362e-880c-30ec2f5ecaf"
},
"responsePath": "$.results.*"
}
}
]
}
}
我放在标题中的授权字段不起作用,因为我仍然收到
{
"error": {
"statusCode": 401,
"name": "Error",
"message": "Authorization Required",
"stack": "Error: Authorization Required\n
}
}
我的想法是做一些事情:
headers.append('Authorization', '8c149a3d-4acf-362e-880c-30ec2f5ecaf7');
headers.append('Access-Control-Allow-Origin', '*');
headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS');
headers.append('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Authorization, Accept');
但是有了环回。所以我可以从Userlike API接收数据,然后我可以修改或只使用我想要的数据。
但是我仍然无法弄清楚如何修改我的datasources.json,或者我是否需要在另一个文件中创建一些内容,以便可以将令牌作为授权发送到我正在使用的URL。
答案 0 :(得分:0)
使用此
通过HTTP标头传递访问令牌headers.append('X-Access-Token', '8c149a3d-4acf-362e-880c-30ec2f5ecaf7');
或者也将此标记作为参数传递。
?access_token=8c149a3d-4acf-362e-880c-30ec2f5ecaf7
这会有所帮助。