-
Notifications
You must be signed in to change notification settings - Fork 7
Writing .gdoc files from a web browser
lmmx edited this page Dec 26, 2014
·
22 revisions
Google Drive now downloads Google Docs .gdoc files as Microsoft Word .docx. This is useless as the conversion doesn't work very well, but at present there's not an option to turn the conversion off as for uploads.
- Docs can be retained in the original format (
.gdoc) and opened in the browser, as on Chrome OS, with custom Nautilus/.desktopsetup - Not possible to download Docs via Drive cli
.gdoc files are converted to Word but the format is very simple
{"url": "URL", "resource_id": "document: ID" }
in which the URL contains the ID:
https://docs.google.com/document/d/ID/edit?usp=docslist_api
thus the files can be written knowing just the ID ($ID):
{"url": "https://docs.google.com/document/d/$ID/edit?usp=docslist_api", "resource_id": "document:$ID" }
The files in a folder can be Javascript-parsed with:
icons = document.querySelectorAll('div[aria-label*="Google Docs"][class="k-u-P-m"]');
var TitleRegEx = new RegExp("Google\ Docs$","g")
var thesedocs = [];
for (i=0;i<icons.length;i++) {
if (icons[i].parentNode.parentNode.parentNode.parentNode.parentNode.getAttribute('aria-label') == "Folder list view") {
var thisdoc =['',''];
thisdoc[0] = icons[i].getAttribute('aria-label').replace(TitleRegEx, "").trim();
thisdoc[1] = icons[i].getAttribute('data-id');
thesedocs.push(thisdoc.join('\t'));
}
}
console.log(thesedocs.join('\n'));
// copy(thesedocs.join('\n'));
The output can be pasted into tab-separated files for each folder, gdoc-list.tsv.
for gdoclist in ./*/gdoc-list.tsv; do
gdocdir=$(dirname "$gdoclist")
while read gdocline; do
gdocTitle=$(echo "$gdocline" | cut -d $'\t' -f 1)
gdocID=$(echo "$gdocline" | cut -d $'\t' -f 2)
echo '{"url": "https://docs.google.com/document/d/'"$gdocID"'/edit?usp=docslist_api", "resource_id": "document: "'"$gdocID"'" }' > "$gdocdir/$gdocTitle".gdoc;
done <"$gdoclist"
done
All files are now back where they should be.
- download whole folders as zip,
- delete the .docx converted documents
- run the above Javascript/shell scripts
-
gdocfiles now back in folders as normal and open as expected