Загрузить с помощью Google Drive API с оригинальным именем файла и расширением - PullRequest
2 голосов
/ 17 октября 2019

Как сказано в документе Google Drive API о загрузке файла:

https://www.googleapis.com/drive/v3/files/FILEID?alt=media%26key=API_KEY

Если мы вставим эту ссылку в Chrome или Safari, загрузка начнется.

Но проблема в

  • Имя изменено на FIELDID
  • Расширение пропало

Например

У меня есть файл mywork.fbx Я загружаю на диск Google, и FileID является ABCDEFG

Затем я иду по ссылке ниже.

https://www.googleapis.com/drive/v3/files/ABCDEFG?alt=media%26key=MYAPIKEY

Я получил файл с именем ABCDEFG без расширения

Это должен быть mywork.fbx или anyname.fbx, а не просто ABCDEFG

Tried

  • add & download = "mywork.fbx"
  • использовать заголовок PHP ('Content-Disposition: attachment; filename = "mywork.fbx"'); имя файла - mywork.fbx, но пропускная способность тоже моя. Это не только GoogleДиск !!!
$file_url = 'https://www.googleapis.com/drive/v3/files/ABCDEFG?alt=media&key=KEY';
header('Content-Disposition: attachment; filename="mywork.fbx"');
readfile($file_url);
  • проверить статьи в переполнении стека, но я не могу найти нужную

Ответы [ 2 ]

2 голосов
/ 18 октября 2019
  • Вы хотите загрузить файл, который не является Google Docs, используя браузер.
  • Вы хотите загрузить файл с именем файла, который имеет имя файла и расширение исходного файла.
  • Вы используете ключ API.
    • В этом случае файл является общедоступным.

Если мое понимание верно, как насчет этого ответа? В этом ответе webContentLink используется в качестве конечной точки. Официальный документ гласит следующее.

webContentLink :

Ссылка для загрузки содержимого файла в браузере с использованием cookieна основе аутентификации. В случаях, когда содержимое является общедоступным, его можно загрузить без каких-либо учетных данных.

Модифицированная конечная точка:

Пожалуйста, попробуйте получить доступ к следующей конечной точке с помощью браузера.

https://drive.google.com/uc?export=download&id={fileId}
  • При использовании этого, пожалуйста, установите идентификатор файла. В этом случае файл не является Google Docs.
  • Когда он обращается к вышеуказанной конечной точке, можно получить файл с именем файла.

Ссылка:

Если я неправильно понял ваш вопрос, и это было не то направление, я прошу прощения.

0 голосов
/ 18 октября 2019

Посмотрите на свойство originalFilename https://developers.google.com/drive/api/v3/reference/files.. Вы можете использовать его в заголовке размещения содержимого, см. https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition

...