Is there a way to download a publicly-viewable Google Drive url via curl or wget? For example, being able to do something like:
curl -O myfile.xls https://drive.google.com/uc?export=download&id=1Wb2NfKTQr_dLoFJH0GfM0cx-t4r07IVl
Note, I'm looking to do this on a publicly-viewable file without having to sign into my Google account (or have someone else sign into their account, etc.).
If helpful, the cors headers I have are:
"kind": "drive#file",
"id": "1Wb2NfKTQr_dLoFJH0GfM0cx-t4r07IVl",
How about this method? When the file is such large size, Google returns a code for downloading the file. You can download the file using the code. When such large file is downloaded using curl, you can see the code as follows.
<a id="uc-download-link" class="goog-inline-block jfk-button jfk-button-action" href="/uc?export=download&confirm=ABCD&id=### file ID ###">download</a>
The query with confirm=ABCD
is important for downloading the file. This code is also included in the cookie. At the cookie, you can see it as follows.
#HttpOnly_.drive.google.com TRUE /uc TRUE ##### download_warning_##### ABCD
In this case, "ABCD" is the code. In order to retrieve the code from the cookie and download the file, you can use the following script.
#!/bin/bash
fileid="### file id ###"
filename="MyFile.csv"
curl -c ./cookie -s -L "https://drive.google.com/uc?export=download&id=${fileid}" > /dev/null
curl -Lb ./cookie "https://drive.google.com/uc?export=download&confirm=`awk '/download/ {print $NF}' ./cookie`&id=${fileid}" -o ${filename}
If this was not useful for you, I'm sorry.