Googleドライブで多数のファイルを扱っていると、「共有リンクをいちいち開いてコピーするのが面倒」と思ったことはありませんか?
そんなときに便利なのがGoogle Apps Script(GAS)での自動URL取得です。今回は、ドライブ内のファイル名とURLを一括でスプレッドシートに出力する方法を紹介します。

目次
基本:フォルダ内のファイル名とURLを取得するコード
function getFileListInFolder() {
var url = 'https://drive.google.com/drive/folders/フォルダID';
var paths = url.split('/');
var folderId = paths.pop();
var folder = DriveApp.getFolderById(folderId);
var files = folder.getFiles();
var list = [];
var rowIndex = 2; // 2行目から
var colIndex = 1;
var sheetName = 'シート1';
while (files.hasNext()) {
var file = files.next();
list.push([file.getName(), file.getUrl()]);
}
var sheet = SpreadsheetApp.getActive().getSheetByName(sheetName);
var range = sheet.getRange(rowIndex, colIndex, list.length, list[0].length);
range.setValues(list);
}
- 使い方:
フォルダID
を差し替えて実行するだけで、対象フォルダ内のファイル名とURLがスプレッドシートに出力されます。
応用①:画像URLとして直接閲覧できる形式に変換
GoogleドライブのURLはそのままだと <img>
で表示できません。
以下のように変換することで、画像として埋め込み可能なURLに変えられます。
function getFileListInFolder() {
var url = 'https://drive.google.com/drive/folders/フォルダID';
var folderId = url.split('/').pop();
var folder = DriveApp.getFolderById(folderId);
var files = folder.getFiles();
var list = [];
while (files.hasNext()) {
var file = files.next();
var imageUrl = file.getUrl();
imageUrl = imageUrl.replace("file/d/", "uc?export=view&id=");
imageUrl = imageUrl.replace("/view?usp=drivesdk", "");
list.push([file.getName(), imageUrl]);
}
var sheet = SpreadsheetApp.getActive().getSheetByName("シート1");
var range = sheet.getRange(2, 1, list.length, list[0].length);
range.setValues(list);
}
この形式で出力すると、HTMLやWebアプリに画像を表示しやすくなります。

応用②:URL入力を使わずフォルダIDを直入力するバージョン
function getFileListInFolder() {
var folderId = "XXXXXXXXXXXXXXXXXXXXXXXXXX"; // フォルダIDを直接記入
var files = DriveApp.getFolderById(folderId).getFiles();
var list = [];
while (files.hasNext()) {
var file = files.next();
var imageUrl = file.getUrl();
imageUrl = imageUrl.replace("file/d/", "uc?export=view&id=");
imageUrl = imageUrl.replace("/view?usp=drivesdk", "");
list.push([file.getName(), imageUrl]);
}
var sheet = SpreadsheetApp.getActive().getSheetByName("シート1");
var range = sheet.getRange(2, 1, list.length, list[0].length);
range.setValues(list);
}
URL分解の手間を省きたい場合は、こちらの方がシンプルです。
まとめ
- Google Apps Scriptを使えば、ドライブフォルダ内のファイルURLを一括取得してスプレッドシートに出力できる
- URLを直接
<img>
タグで表示できる形式に変換することも可能 - スプレッドシートで画像リストや資料リンク集を自動生成する際に便利
画像ギャラリー・作品一覧・リンク集など、あらゆるファイル管理に活用できます。
業務の効率化や資料作成にぜひ取り入れてみてください!