Я пытаюсь построить расширение Chrome, используя приводной API. Я полагаю, что у меня есть это в основном, но я продолжаю получать одинаковые на NextPageToken на рекурсивных звонках. Я хочу иметь возможность перечислить все идентификаторы файла, проверив, существует ли NextPageToken после каждого выбора. петля.
возвращаемые данные из Fetch Always имеют одинаковое значение NextPageToken, согласно последним 2 строкам кода ниже. < /P>
let morePagesAvailable = '';
let initVal; //oauth2 initialization
let url = new URL('https://www.googleapis.com/drive/v3/fil ... pageToken=');
let params = url.searchParams;
//onLoad
window.onload = function () {
document.querySelector('button').addEventListener('click', function () {
chrome.identity.getAuthToken({ interactive: true }, function (token) {
init = {
method: 'GET',
async: true,
headers: {
Authorization: 'Bearer ' + token,
'Content-Type': 'application/json'
},
'contentType': 'json'
};
fetchIt(init);
});
})
};
//Fetch data
async function fetchIt(initVal) {
let ctr = 1;
do {
params.delete('pageToken');
params.append('pageToken', morePagesAvailable);
console.log(url.toString());
console.log(morePagesAvailable);
try {
const response = await fetch(
url.toString(),
initVal)
const data = await response.json();
console.log(data);
addData(data);
} catch (error) {
console.error(error);
}
ctr++;
} while (ctr < 4)
}
// data => object
function addData(object) {
data.push(object);
morePagesAvailable = data[0].nextPageToken.toString();
console.log(morePagesAvailable); // working: but always the same string
console.log(data[0].files[1].id); // working: but always the same string
}
Подробнее здесь: https://stackoverflow.com/questions/794 ... er-changes