Пагинация в интерфейсе Watson Assistant - PullRequest
0 голосов
/ 18 января 2019

Я пытаюсь разбить результат на API-интерфейсы Уотсона. Но я не могу этого сделать.

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

function callWatson(url) {
  let watson_url = 'https://gateway.watsonplatform.net/assistant/api';
  if (!url) {
    watson_url = `${watson_url}/v1/workspaces/[workspace_id]/logs?version=2018-09-20`;
  } else {
    watson_url = `${watson_url}/${url}`;
  }
  assistant = new watson.AssistantV1({
    username: ************,
    password: ************,
    url: watson_url,
    rejectUnauthorized: false,
    version: '2018-09-20'
  });

  return assistant;
}

let input = [];
let pagination = [];

assistant.listAllLogs(param, function(err, response) {
  if (err) {
    console.error(err);
  } else {
    for (var i = 0; i < response.logs.length; i++) {
      pagination.push(response.pagination);
      input.push(response.logs[i]);
    }
    // logger.debug(input);
    logger.debug(pagination);
  }
});

Ответы [ 2 ]

0 голосов
/ 19 января 2019

Вам необходимо передать поле next_cursor от объекта pagination в текущем ответе в качестве значения параметра cursor в последующем запросе.

0 голосов
/ 18 января 2019

В зависимости от документов, вам необходимо использовать "next_url" - URL, который будет возвращать следующую страницу результатов, если таковые имеются.

https://cloud.ibm.com/apidocs/assistant#pagination

...