尝试将访问令牌从环回发送到第三方api

时间:2017-11-27 02:24:36

标签: json node.js rest api loopback

我在环回3.x中有我的API。首先,我创建了一个空项目,然后我在控制台中运行npm install loopback-connector-rest --savelb 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。

1 个答案:

答案 0 :(得分:0)

使用此

通过HTTP标头传递访问令牌
headers.append('X-Access-Token', '8c149a3d-4acf-362e-880c-30ec2f5ecaf7');

或者也将此标记作为参数传递。

?access_token=8c149a3d-4acf-362e-880c-30ec2f5ecaf7

这会有所帮助。