I've got 200+ jpegs in a folder and need shareable links for each jpeg in a spreadsheet. Is there a way to do this without doing the right clicking thing for each image individually?
2 Answers
With a very large number of files (50+), a method without painful clicking is the following:
Open the desired Google Drive folder and get its ID in the URL from the browser location bar: https://drive.google.com/drive/u/0/folders/
<id>
Open a new Google Sheet and navigate Tools > Script editor. In the new script, put (replace the
<id>
in the code):function myFunction() { var ss=SpreadsheetApp.getActiveSpreadsheet(); var s=ss.getActiveSheet(); var c=s.getActiveCell(); var fldr=DriveApp.getFolderById("<id>"); var files=fldr.getFiles(); var names=[],f,str; while (files.hasNext()) { f=files.next(); str='=hyperlink("' + f.getUrl() + '","' + f.getName() + '")'; names.push([str]); } s.getRange(c.getRow(),c.getColumn(),names.length).setFormulas(names); }
Save the script and grant permissions
- Run the script
If you revisit the Google Sheet, it should now contain the list of URLs of the files.
(I stole most of this from https://productforums.google.com/forum/#!topic/docs/0ilSDjhFnHI)
-
2You saved me a lot of time! I know this comment is not intended for this purpose, but thanks!– MihaiJan 14, 2020 at 14:02
-
If you like this answer, also take a look at @user79865's answer. They explained that this is possible with a single share + a single "Copy Links" click, which IMO is simpler and more straightforward than this solution. It's exactly what I was looking for.– rd11Feb 13, 2020 at 15:43
-
One thing IIRC @rd11 is that if you have really 200+ files, selecting them in Drive is a pain. You can't do this for say more than 50 files, as in the OP question. Feb 13, 2020 at 17:59
-
1That's a great good point. I do think my comment is useful, though, as anyone searching for the <50 files use case will likely be tunneled to this answer immediately through a web search (as I was). Cheers.– rd11Feb 19, 2020 at 15:07
Yes, you can select all these files and get shareable links to them at once.
- Select files
- Right-click any of them and pick "Share.." out of the context menu.
- Click "Get shareable links" in the upper right corner of the Share dialog window. This does several things at once: makes files accessible to anyone with a link, and copies the links to your clipboard.
- Paste into the spreadsheet. The copied links are newline-separated, so when pasted into a spreadsheet, they form a neat column.
-
2newline-separated, so when pasted into a spreadsheet, they form a neat column UPDATE May 2020: The links are separated by ",%20" (comma-space?). When the links are pasted, they don't automatically form a column. The user has two options: 1) "Data> Split Text to Columns": the links will split into columns though all but the first link will be preceded by "%20"; or 2) "Paste special", "Paste transposed": the links will form a neat column, though all but the first link will be preceded by "%20".– TedinozAug 6, 2020 at 22:59
-
1Caveat: with this technique, the URLs appear in ascending alphanumeric order, not in the order they had when you copied them.– taniusJul 1, 2021 at 18:25