下载批地址编码数据时,HERE-API CORS问题

问题描述

最近,我偶然发现了一个API,使用HERE-API通过地址获取纬度和经度。我能够发送成功生成LAT&Long的请求,也能够获取批处理的状态。但是当我尝试下载zip数据时,却出现了CORS问题。

-----这样,我发送POST请求-----

var raw = "recId|searchText|country\n0001|Invalidenstraße 116 10115 Berlin|DEU\n0002|Am Kronberger Hang 8 65824 Schwalbach|DEU\n0003|425 W Randolph St Chicago IL 60606|USA\n0004|One Main Street Cambridge MA 02142|USA\n0005|200 S Mathilda Ave Sunnyvale CA 94086|USA";
var requestOptions = {
  method: 'POST',body: raw,redirect: 'follow'
};

fetch("https://batch.geocoder.ls.hereapi.com/6.2/jobs?gen=8&action=run&mailto=susheel.kumar.msl%40gmail.com&header=true&indelim=%7C&outdelim=%7C&outcols=displayLatitude%2CdisplayLongitude%2ClocationLabel%2ChouseNumber%2Cstreet%2Cdistrict%2Ccity%2CpostalCode%2Ccounty%2Cstate%2Ccountry&outputCombined=false&apiKey={API_KEY}",requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error',error));

-----这样我就可以得到状态-----

var requestOptions = {
  method: 'GET',redirect: 'follow'
};

fetch("https://batch.geocoder.ls.hereapi.com/6.2/jobs/NqzzgiazJIbMTrQVYvFBp9J1sQ6Q7vOw?action=errors&apiKey={API_KEY}",error));

-----在这里我遇到问题了-----

var myHeaders = new Headers();
myHeaders.append('Content-Type','application/octet-stream');

var requestOptions = {
  method: 'GET',headers: myHeaders,redirect: 'follow'
};

fetch("https://batch.geocoder.ls.hereapi.com/6.2/jobs/NqzzgiazJIbMTrQVYvFBp9J1sQ6Q7vOw/result?apiKey={API_KEY}",error));  

-----这是我得到的错误-----

Access to fetch at 'https://batch.geocoder.ls.hereapi.com/6.2/jobs/NqzzgiazJIbMTrQVYvFBp9J1sQ6Q7vOw/result?apiKey={API_KEY}' from origin 'https://abc.test' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: It does not have HTTP ok status.

即使我在白名单部分中添加了https://abc.test网域。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)