Проблема заключается в том, что при попытке получить атрибут downloadUrl в file.downloadUrl
, который больше не существует в Drive API версии 3 (это было в версии 2),проверьте v2 [1] и v3 [2].
Вместо этого вы должны использовать атрибут webContentLink для загрузки файла, который доступен для файлов с бинарным содержимым, таких как изображения, PDF и т. Д., Но не для документов и листов Google (это толькодоступен атрибут webViewLink , который является URL-адресом файла) [2].Для этих случаев (документов и листов) вы можете реализовать метод import , который работает для преобразования документов Google и возвращает объект файла [3].
Запрос на импорт будет выглядеть следующим образом:
var request = gapi.client.drive.files.import({ 'fileId': fileId, 'mimeType': mimeType });
С mimeType для нужного целевого документа (pdf, txt и т. Д.).Затем, внутри обратного вызова, получите доступ к атрибуту, используя file.webContentLink, как и в других случаях.
[1] https://developers.google.com/drive/api/v2/reference/files
[2] https://developers.google.com/drive/api/v3/reference/files
[3] https://developers.google.com/drive/api/v3/reference/files/export