При экспорте с Google Диска файл не найден - PullRequest
0 голосов
/ 19 февраля 2019

Я получаю сообщение об ошибке 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');
       });

1 Ответ

0 голосов
/ 14 апреля 2019

Я видел эту же ошибку, когда использовал разрешение https://www.googleapis.com/auth/drive.file: для экспорта на работу необходимо иметь как минимум разрешение https://www.googleapis.com/auth/drive.readonly, выданное токену OAuthвы используете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...