Я пытаюсь переместить файлы с помощью javascript на свой Google Диск, но мне это не удается.
Код использует 2 запроса для
Удалите предыдущих родителей и добавьте новых.
newParentId = "1iZV23z7...88YE";
fileId = "13rXB34O...xqgD";
// get current parents
gapi.client.request({
'path': 'https://www.googleapis.com/drive/v3/files/'+fileId,
'params' : { 'fields' : "parents" },
'method': 'GET'
})
.then( function( resp ){ changeParents(resp.result.parents); } )
.catch( console.info )
function changeParents( previousParents ){
gapi.client.drive.files.update({
'fileId': fileId,
'addParents': newParentId,
'removeParents': previousParents
});
}
Только первый запрос подходит. Удаление и добавление родителей не работает.
Заранее спасибо.
объясните, что вы имеете в виду под «не работает». Добавьте fields:* в запрос и вставьте http-запрос и ответ
После нескольких попыток я добавил .then( function(){} ) - функцию void - после gapi.client.drive.files.update({..}}, и это сработало.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Поле «родители», которое вы получаете из первого запроса, представляет собой массив строк, но параметр removeParents из второго запроса должен быть строкой, содержащей список родительских идентификаторов, разделенных запятыми, которые необходимо удалить.
Вам просто нужно добавить toString () в previousParents:
function changeParents( previousParents ){
gapi.client.drive.files.update({
'fileId': fileId,
'addParents': newParentId,
'removeParents': previousParents.toString()
});
}
Я думаю, что ваши запросы работают. Могу я спросить вас обо всем сценарии? Или можно спросить о размахе? Из вашей ситуации меня беспокоит область действия, включенная в токен доступа.