Skip to content

Instantly share code, notes, and snippets.

@Snarp
Last active April 25, 2025 12:25
Show Gist options
  • Save Snarp/6c06f60899ca3f43bdd3d8170885f83f to your computer and use it in GitHub Desktop.
Save Snarp/6c06f60899ca3f43bdd3d8170885f83f to your computer and use it in GitHub Desktop.
Script to allow copying from a protected Google Doc
/*
<https://stackoverflow.com/questions/40296831/is-it-possible-to-force-a-copy-of-a-protected-google-doc>
NOTE - 2021-05-24
-----------------
The script below isn't the fastest way to copy-and-paste from a protected
Google Doc. Before trying it, I'd suggest following MikoFrosty's advice from
the comments:
1) Change the end of the document url from `/edit` to `/mobilebasic`.
2) Disable Javascript (as described in steps 2 and 3 below).
3) Keeping the console open, reload the page.
That should be enough to allow you to copy freely. The script here is
*probably* only necessary if the /mobilebasic view isn't rendering something
correctly.
HOW TO USE
----------
1) Open the protected Doc using Chrome. Scroll all the way down to the bottom
to make sure that it is entirely loaded.
2) Open Chrome Developer Tools (<Ctrl+Shift+I>), and click "Console" to open
the Javascript Console.
3) Open the Command Console (<Ctrl+Shift+P>). Type "javascript", and select
the option "Disable Javascript" when it appears.
4) Copy the script below into the Javascript console.
5) Leaving the Javascript Console open, you may now copy-and-paste from the
document as normal. (Some formatting may be broken. Closing the console may
re-lock copy-and-pasting.)
6) (OPTIONAL) To copy the entire document as plain text (no formatting), type
the following into the console:
document.body.innerText
The text will be loaded into the Console itself; copy it by clicking the
gray-highlighted "COPY" at the end.
*/
function rtcScript() {
document.oncontextmenu = null;
document.onselectstart = null;
document.onmousedown = null;
document.onclick = null;
document.oncopy = null;
document.oncut = null;
var elements = document.getElementsByTagName('*');
for (var i = 0; i < elements.length; i++) {
elements[i].oncontextmenu = null;
elements[i].onselectstart = null;
elements[i].onmousedown = null;
elements[i].oncopy = null;
elements[i].oncut = null;
}
function preventShareThis() {
document.getSelection = window.getSelection = function() {
return {isCollapsed: true};
}
}
var scripts = document.getElementsByTagName('script');
for (var i = 0; i < scripts.length; i++) {
if (scripts[i].src.indexOf('w.sharethis.com') > -1) {
preventShareThis();
}
}
if (typeof Tynt != 'undefined') {
Tynt = null;
}
}
rtcScript();
setInterval(rtcScript, 2000);
@Mohammed-Nalwala
Copy link

  1. Change the end of the document url from /edit to /mobilebasic.

when I add "mobilebasic" end of url for google sheet it says
"Sorry, unable to open the file at present.Please check the address and try again."

@GBG7
Copy link

GBG7 commented Dec 2, 2023

  1. Change the end of the document url from /edit to /mobilebasic.

when I add "mobilebasic" end of url for google sheet it says "Sorry, unable to open the file at present.Please check the address and try again."

same

@sheenk09
Copy link

it works!

@010DevX101
Copy link

I found a workaround in /mobilebasic without having to disable JavaScript. You just have to rename the docsshared-no-select class to anything else and the script that prevents you from copying stops working.

@taiar
Copy link

taiar commented May 24, 2024

I found a workaround in /mobilebasic without having to disable JavaScript. You just have to rename the docsshared-no-select class to anything else and the script that prevents you from copying stops working.

👍

@Brian212121
Copy link

it's not working for me

@blacklabelbob
Copy link

I found a workaround in /mobilebasic without having to disable JavaScript. You just have to rename the docsshared-no-select class to anything else and the script that prevents you from copying stops working.

yeah buddy!

@MrPrickle
Copy link

Any updates? None of the afforementioned steps work for now.

The mobilebasic method still works for me (copied from @mitar)

  • Change the end of the document url from /edit to /mobilebasic.
  • Disable Javascript (as described in steps 2 and 3 below).
  • Keeping the console open, reload the page. Select all + copy.
  • Create a new blank Google Doc. Paste.

What part of this process is not working for you?

Yea that works for me, so whats the point of this script if you could just do that?

@narutohokague777
Copy link

once changing /edit to /mobilebasic it is shown as not found

@grxvy
Copy link

grxvy commented Mar 31, 2025

Does anyone have a working method for this at the moment?
In Brave, changing the url from /edit to /mobilebasic, then disabling javascript seems to of been patched for trying to copy text from a protected Google Doc.

@DPRO25
Copy link

DPRO25 commented Apr 25, 2025

Tried the /mobilebasic and javascript, worked, but only for first 100lines, my file has 300K, any ideas?

@fubaWoW
Copy link

fubaWoW commented Apr 25, 2025

@fubaWoW my gist is working fine. tried on this sheet : docs.google.com/spreadsheets/d/1QVboVOGlcYjygakt4rUTUe75Nw3Py3d3tDZFa5R53s0/view?gid=0#gid=0

snipboard.io/OqYSUN.jpg

Oh Sorry!
Tested it again in Firefox and it works now!

Before I tested in MS-Edge, and it does not work...
Maybe because it's a VERY big Database (50+ MB File) and Edge is shit?! 🤣

Thanks for the Script!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment