Ниже приводится рекурсивная функция, которая регистрирует данные, полученные из API Gmail.
function listAllMessages(auth, nextPageToken = ''){
const gmail = google.gmail({version: 'v1', auth});
let options = {
userId: 'me',
nextPageToken: nextPageToken,
}
gmail.users.messages.list(options, (err, res) => {
if (err) return console.log("ListAllMessages returned an error" + err);
// console.log(res.data);
if(res.data.nextPageToken){
console.log(res.data.nextPageToken);
listAllMessages(auth, res.data.nextPageToken);
}
})
}
Вместо того, чтобы печатать токены следующей страницы, функция последовательно печатает один и тот же токен страницы. Первый вызов должен go без какого-либо токена страницы, в то время как последовательные вызовы берут токен, указанный в ответе на предыдущий вызов, и печатают токен следующей страницы. Что я делаю не так и как это исправить?
Пример необходимого вывода: token1 token2 token3. . . tokenN
Пример текущего вывода: token1 token1 token1 token1. . . .