将 curl 命令转换为 Meteor 的 HTTP 调用

Translating curl command to Meteor's HTTP call

我尝试“翻译”这个 curl 命令

curl --request POST --header "Content-Type: application/json" --url http://some-url --user userName:apiKey --data '{ "some": "JSON data as string" }'

进入 Meteor 的 HTTP 调用。我试过这个:

const options = {
  { "some": "JSON data as object" },
  headers: {
    'Content-Type': 'application/json',
  },
  params: {
    user: 'userName:apiKey',
  },
  // Or alternatively
  //
  // user: 'userName:apiKey',
};

HTTP.call('POST', 'http://some-url', options, (error, result) => {
  if (error) {
    reject(error);
  } else {
    resolve(result);
  }
});

使用 curl 命令它工作正常,使用 HTTP.call 我得到一个 403,禁止访问。 userName:apiKey 的授权似乎失败了。如何在 HTTP.call 示例中指定 userName:apiKey?或者他们可能是另一个问题?

如果需要认证,需要添加auth参数。 params 参数实际上会将所有包含的属性设置为 POST 请求正文的一部分。

const options = {
  data: { "some": "JSON data as object" },
  headers: {
    'Content-Type': 'application/json',
  },
  auth: 'userName:apiKey'
}

阅读:https://docs.meteor.com/api/http.html#HTTP-call