Как использовать здесь Геокодирование и поиск API от сервиса angular с ключом API - PullRequest
1 голос
/ 29 апреля 2020

Я новичок в Angular, я хочу использовать Здесь Geocoding api в моем angular сервисе, я добавил свой apiKey к httpParams, но он не работал. Вот мой код в сервисе:

    let params = new HttpParams();
    params = params.append('at', `${coordinates.latitude},${coordinates.longitude}`);
    params = params.append('q', query);
    params = params.append('limit', limit);
    params = params.append('apiKey', environment.apiMapRest);
    return this.httpClient.get('https://discover.search.hereapi.com/v1/discover', {params});

Вот ошибка:

Access to XMLHttpRequest '
from origin 'http://localhost:4200' has been blocked by CORS policy: 
No 'Access-Control-Allow-Origin' header is present on the requested resource.

Я могу получить к нему доступ непосредственно в своем браузере и почтальоне, кстати.

1 Ответ

1 голос
/ 29 апреля 2020

Это потому, что из браузера был сделан перекрестный вызов. Здесь можно найти подробную информацию о политике перекрестного происхождения . Там hereapi также документирует этот случай здесь .

Я бы поставил hereapi logi c запроса на серверную часть приложения Angular. Таким образом, приложение Angular будет взаимодействовать только со своим собственным бэкэндом и не будет выполнять никаких вызовов между источниками. С другой стороны, если вызовы hereapi находятся на внутренней стороне, apikey не отображается. (Если hereapi вызывается непосредственно со стороны Angular, apikey можно легко взять.)

...