Как читать следующие элементы из набора результатов JSON, используя метод follow () - PullRequest
0 голосов
/ 07 ноября 2019

Я пытаюсь прочитать дополнительные элементы после прочтения первых 20 элементов набора результатов с использованием метода explore в пространстве имен H.service.PlacesServices (Maps API v3.1)

Я могу прочитать первые 20 элементов только в порядке, но получаю несанкционированный результат, когда вызываю метод follow (uri) в соответствии с предложением передать URI.

Код, написанный на Angular / TypeScript. Я также попытался включить apikey и app_id & code. Однако я предполагаю, что, поскольку я использую тот же инициализированный объект, ключ приложения автоматически передается с помощью метода follow (uri).

Я также пытался использовать httpClient, но я получаю похожую ошибку.

Я бы предположил, что для вызова следующей страницы не требуется никакой аутентификации.

this.platform = new H.service.Platform({apikey: "xxx"});
this.places = this.platform.getPlacesService();

var query = {"at":  lat +"," + lng +";r=1000,"cat" : categories +",pretty"};

await this.places.explore(query, async (result) => {
    values = result;

    ***do something***  

    await this.places.follow(result.results.next, (result2) => {

    ***do something*** 

    }, (e) => {console.log(e)});    
}, (e) => {console.log(e)});

Что я делаю не так ?? Любые предложения, пожалуйста?

Я хотел бы прочитать следующие пункты, но я получаю 401 несанкционированную ошибку

GET https://places.ls.hereapi.com/places/v1/discover/explore;context=Y2F0PXBldHJvbC1zdGF0aW9uJTJDcHJldHR5JmZsb3ctaWQ9YzBiYTRjYjMtZTFkZi01MTQ0LTkxZjMtYWE5NzczMmI2YTFkXzE1NzMxNTU5NzkxMTZfMF8yODQyJm9mZnNldD0yMCZzaXplPTIw?at=53.78%2C7.7 401 (неавторизовано)

{"error": "Unauthorized", "error_description": "Недопустимый токен канала-носителя. Отсутствует канал-носитель или отсутствует значение канала-носителя."}

1 Ответ

0 голосов
/ 08 ноября 2019

Пожалуйста, внимательно прочитайте, как использовать метод follow, метод используется для перехода по гиперссылкам в результатах, возвращаемых запросами на обнаружение.

var places = platform.getPlacesService(), entryPoint = H.service.PlacesService.EntryPoint; places.request(entryPoint.SEARCH, {'at': '52.5044,13.3909', 'q': 'pizza'}, function(response) { var items = response.results.items; places.follow(items[0].href, function(resp) { console.log(resp); }, function(resp) { console.log('ERROR: '+resp); }); }, function(resp) { console.log('ERROR: '+resp); });

...