Hi, I have many links in the links-list. Way to many. I take it that the files linked are accessible for anyone with the link. I want all these links removed with one command. It is too many to do it manually for each one.Thanks
Please be careful as it will delete all your shared links! You have been warned! Works in Chrome (61.0.3163.100) maybe firefox and internet explorer but no links to test Open the browser's console window (right click anywhere and select inspect or control+shift+i) while in the shared links page. Paste the following code in the console command line, click enter and it will delete all shared links.
Due to secure http loading jquery (as suggested by other post) does not work, so this option is fine with vanilla javascript. The script below simulates consecutive mouse clicks: 1. click the three dot button next to the link, 2. click the delete link button in the drop down, 3. click the delete link buttin in the pop up dialog box. Note that it will take a minute to execute all those but in the end the list shall be clear. Hope it save you some trouble... and again be careful
for( var index = 0; index < 1000; index++ ){ var dots = document.getElementById("bubbleDropdownTarget-" + index ); if( dots == undefined ) continue; dots.click( ); document.getElementsByClassName( "bubble-menu-item" )[0].click( ); document.getElementsByClassName( "button-primary dbmodal-button" )[0].click( );}
I had to open the console, import jquery, and have it click all the links for me. This will have it click "x" and the confirm button every second:
setInterval(function(){jQuery('.remove-link')[0].click();setTimeout(function(){jQuery('.button-primary')[0].click()}, 500);}, 1000)<SPAN class="kwd">var</SPAN><SPAN class="pln"> jq </SPAN><SPAN class="pun">=</SPAN><SPAN class="pln"> document</SPAN><SPAN class="pun">.</SPAN><SPAN class="pln">createElement</SPAN><SPAN class="pun">(</SPAN><SPAN class="str">'script'</SPAN><SPAN class="pun">);</SPAN><SPAN class="pln"> jq</SPAN><SPAN class="pun">.</SPAN><SPAN class="pln">src </SPAN><SPAN class="pun">=</SPAN> <SPAN class="str">"https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"</SPAN><SPAN class="pun">;</SPAN><SPAN class="pln"> document</SPAN><SPAN class="pun">.</SPAN><SPAN class="pln">getElementsByTagName</SPAN><SPAN class="pun">(</SPAN><SPAN class="str">'head'</SPAN><SPAN class="pun">)[</SPAN><SPAN class="lit">0</SPAN><SPAN class="pun">].</SPAN><SPAN class="pln">appendChild</SPAN><SPAN class="pun">(</SPAN><SPAN class="pln">jq</SPAN><SPAN class="pun">);</SPAN> <SPAN class="com">// ... give time for script to load, then type.</SPAN><SPAN class="pln"> jQuery</SPAN><SPAN class="pun">.</SPAN><SPAN class="pln">noConflict</SPAN><SPAN class="pun">();</SPAN>
Man. It worked like a charm. I love you so much right now. Thanks a LOT.
Thanks James. Quite stupid dropbox can't implement a real solution.
Update:
Open your browser's debug/dev console and paste this:
var jq = document.createElement('script');jq.src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js";document.getElementsByTagName('head')[0].appendChild(jq);
Hit enter, wait 2 seconds and paste this:
jQuery.noConflict();setInterval( function(){ setTimeout(function(){jQuery('.mc-overflow-button')[0].click();}, 500) setTimeout(function(){jQuery('.delete-link')[0].click();}, 1000); setTimeout(function(){jQuery('.button-primary')[0].click();}, 1500);}, 1000);
Hit enter and wait for it to finish.This was tested 2017/04/15 on Firefox, but should work on Chrome as well.
No Worky
Content Security Policy: The page's settings blocked the loading of a resource at https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js ("script-src 'unsafe-eval' https://www.dropbox.com/static/compiled/js/ https://www.dropbox.com/static/javascript/ https://www.dropbox.com/static/api/ https://cfl.dropboxstatic.com/static/compiled/js/ https://www.dropboxstatic.com/static/compiled/js/ https://cfl.dropboxstatic.com/static/previews/ https://www.dropboxstatic.com/static/previews/ https://cfl.dropboxstatic.com/static/javascript/ https://www.dropboxstatic.com/static/javascript/ https://cfl.dropboxstatic.com/static/api/ https://www.dropboxstatic.com/static/api/ 'nonce-xxxxxxxxxxxxxxxx'").
I just tried it on Chrome.
I did get the error you described, but it worked anyway.
WHWYT(What Happens When You Try)?
This worked for me in Chrome. Oddly it looked to not show anything happening. Ilet the window just sit there for 5 mins, came back, and copied the Links URL in a new browser tab. Now, all the links that were there are now gone, and I've confirmed I'm no longer sharing any of the links from a massive list I had. If I need to reshare, I'll do so from a new URL, but now my old boss cant steal my work from my past time with him.
In a previous episode I managed to remove all of my shared links using a small javascript pasted in the browser's console. You can find the previous solution by using the link https://www.dropboxforum.com/t5/Create-upload-and-share/remove-all-shared-links/td-p/75611 (or by searching for "remove all shared links"). I tried today to use that script but the web design has changed since 2017 so the script did not work. Here is an update below. Hope it helps. Again exercise caution etc...
for( let dots of document.getElementsByClassName("mc-button") ) { dots.click( ); for( let del of document.getElementsByClassName("delete-link")) { del.click(); for( let can of document.getElementsByClassName("dbmodal-button") ) { can.click( ); break; } break; } break; }
Note that I have one extra "break;" in the end of the script, to remove only the first link, for testing etc. To unleash batch removal, just delete it.
Hi everyone, there have been several posts with solutions to deleting Dropbox Shared Links (https://www.dropbox.com/share/links) in bulk. The most recent being this post above from August 2022.
ProblemSolved shared above:
When I navigate to the Links page, access the console, and initiate the script, I get an undefined error. Is this due to the changes in the page design, or am I doing something wrong? Does anyone have any advice or an updated script that might work?
Thank you for reading!
2023 Dropbox, browse to "shared" page, click "links" submenu, pase the code below into the console:
async function pause(ms) { return new Promise(resolve => { setTimeout(() => { resolve(); }, ms); }); } async function deleteLinks() { const deleteLinkTexts = ["Delete view link", "Delete edit link"]; // Both options let items = document.querySelectorAll('.share-page-row-actions [data-testid="open-menu-button"]'); for (let i = 0; i < items.length; i++) { items[i].click(); // Click the submenu button to open the menu await pause(1000); // Adjust the pause duration as needed // Find and click the appropriate delete link option const deleteLinkOption = Array.from(document.querySelectorAll('.dig-Menu-row-title')).find(item => deleteLinkTexts.includes(item.textContent)); if (deleteLinkOption) { deleteLinkOption.click(); // Click the delete link option await pause(1000); // Adjust the pause duration as needed // Find and click the delete button const deleteButton = document.getElementsByClassName("dbmodal-button"); if (deleteButton.length > 0) { deleteButton[0].click(); await pause(1000); // Adjust the pause duration as needed } } items = document.querySelectorAll('.share-page-row-actions [data-testid="open-menu-button"]'); // Refresh items } } deleteLinks();
eliransapir, thank you so much. This works like a charm!
Doesn't work anymore no matter what I try. any other suggestions.
Anyone know a way to delete all links at once. I've already tried the chrome java method and it doesn't work at all. Anyone have any other suggestions. This is confusing as to why they don't have it yet.
async function pause(ms) { return new Promise(resolve => { setTimeout(() => { resolve(); }, ms); }); } async function deleteLinks() { const deleteLinkTexts = ["Delete view link", "Delete edit link"]; // Both options let items = document.querySelectorAll('.share-page-row-actions [data-testid="open-menu-button"]'); for (let i = 0; i < items.length; i++) { items[i].click(); // Click the submenu button to open the menu await pause(1000); // Adjust the pause duration as needed // Find and click the appropriate delete link option const deleteLinkOption = Array.from(document.querySelectorAll('.dig-Menu-row-title')).find(item => deleteLinkTexts.includes(item.textContent)); if (deleteLinkOption) { deleteLinkOption.click(); // Click the delete link option await pause(1000); // Adjust the pause duration as needed // Find and click the delete button const deleteButton = document.getElementsByClassName("button-primary dbmodal-button"); if (deleteButton.length > 0) { deleteButton[0].click(); await pause(1000); // Adjust the pause duration as needed } } items = document.querySelectorAll('.share-page-row-actions [data-testid="open-menu-button"]'); // Refresh items } } deleteLinks();
In above script, just changed class name as ''button-primary dbmodal-button'' and it worked for me