Я получаю сообщение об ошибке 404 файл не найден при использовании Google Drive v3 API.Идентификатор файла, который я получаю от Google Picker, поэтому я знаю, что идентификатор правильный.Оскорбительный код выглядит следующим образом (javascript):
downloadFile: function () {
var _this = this;
gapi.client.init({
apiKey: this.developerKey,
clientId: this.clientId,
discoveryDocs: ['https://www.googleapis.com/discovery/v1/apis/drive/v3/rest'],
scope: 'https://www.googleapis.com/auth/drive'
}).then(function () {
// not working with private files
gapi.client.setToken(_this.oauthToken);
gapi.client.drive.files.export({
'fileId': _this.selectedFileId,
'mimeType': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
}).then(function (response) {
console.log('success!');
});
}, function (error) {
console.log(error);
});
}, function (error) {
console.log(error);
});
}
Как ни странно, это происходит не со всеми файлами, а только с личными файлами.Поэтому я предполагаю, что ошибка «файл не найден» - это просто общий ответ от Google, указывающий, что мне не разрешили получить доступ к файлу.
Как ни странно, при работе с files.get все работает нормально:
gapi.client.drive.files.get({
fileId: _this.selectedFileId,
supportsTeamDrives: true
}).then(function (response) {
console.log('worked');
}, function (error) {
console.log('failed');
});