Работа с API Google, и мне нужно наборы кода, которые по сути одинаковы, но дают разные результаты.
Оба просто принимают fileId и два parentId, один для удаления и одиндобавить с Google API.По сути, это операция перемещения файла на диске Google.Код, который работает, просто ожидает подпись (from, to, file) => {}
, а тот, который не работает, проходит поля в обратном вызове вызова Google Picker.( Ссылка на документы API Picker )
Первый возвращает успех, а второй получает ответ от API, в котором говорится об ошибке синтаксического анализа, и совсем немного о том, что может бытьвызывая ошибку разбора.
Примеры:
Рабочий пример
moveFile = (from, to, file) => {
return gapi.client.drive.files
.update({
addParents: to,
removeParents: from,
fileId: file,
})
.then((res) => {
logger.log(funcname, `Moved File: ${file} from ${from} to ${to}.`);
return res.result;
});
};
Нерабочий пример
function folderSelectedCallback(folderData, fileData) {
//folderData and fileData both have the same structure
//{action: 'type of action',
//docs: [{Array Of Document Objects}],
//viewToken: [Array of unused data]}
//Docs Array Objects Structure (only used properties listed.)
//{ id: 'string ID of the File',
//parentId: 'string ID of the parent folder'}
if (folderData.action === 'picked') {
console.log('folderSelectedCallback(): called.');
console.log('File Data: ', fileData);
console.log('Folder Data: ', folderData);
const files = fileData.docs;
const folder = folderData.docs[0];
console.log(files);
console.log(folder);
files.forEach((f) => {
gapi.client.drive.files
.update({
addParents: to,
removeParents: from,
fileId: file,
})
.then((res) => {
console.log(funcname, `Moved File: ${file} from ${from} to ${to}.`);
return res.result;
}).catch(err => console.error(err));
});
}
}
Есть ли дополнительная информация, которая мне нужна дляисправить это?