[外部API上的Node.js提取导致403访问被拒绝错误

问题描述 投票:0回答:1

我已经在Heroku上部署了Node.js Koa API应用。我正在调用USAJOB.gov API,它可以在我的本地主机上运行。但是,在Heroku上出现此错误:

You don't have permission to access "http://data.usajobs.gov/$(SERVE_403)/api/search?" on this server.

这是我的Koa路由器代码段:

router.get('/jobs', async (ctx) => {
  const { keyword, location } = ctx.query;
  const url = `https://data.usajobs.gov/api/search? 
    Keyword=${keyword}&LocationName=${location}`;
  const host = 'data.usajobs.gov';
  const userAgent = '<redacted>';
  const authKey = '<redacted>';
  const headers = {
    Host: host,
    'User-Agent': userAgent,
    'Authorization-Key': authKey,
  };

  await fetch(url, {
  headers,
  method: 'GET',
  });
}
node.js api heroku koa node-fetch
1个回答
0
投票

因此事实证明,是否应该使用凭据发出跨站点访问控制请求就是问题所在。我无法弄清楚如何使用node-fetch进行配置,但是一旦我阅读了解决方案(下面的链接),切换到axios,然后配置了withCredentials: false,所有的工作就可以了。

来源:axios delete method gives 403

© www.soinside.com 2019 - 2024. All rights reserved.