GASを使ってドライブ内の画像を簡単に取得する方法
GASってドライブの中にある画像を簡単に取得できるって聞いたけど、本当なんだろうか…?どうやって始めればいいのか全然わからないよ…

猫男

catman
その悩み、catmanが解決しよう。GASを使えば、Googleドライブ内の画像をサクッと取得できるのさ。
GASでGoogleドライブ内の画像を取得する方法
GASで画像をドライブから取得するための基本コードを紹介しよう。
function getImageInfoByFileId() {
const fileId = 'YOUR_IMAGE_FILE_ID_HERE'; // ← 実際の画像ファイルIDに置き換えてください
const file = DriveApp.getFileById(fileId);
const mimeType = file.getMimeType();
// JPEG or PNG の画像のみ処理
if (mimeType === MimeType.JPEG || mimeType === MimeType.PNG) {
Logger.log('ファイル名: ' + file.getName());
Logger.log('ファイルID: ' + file.getId());
Logger.log('ファイルURL: ' + file.getUrl());
Logger.log('MIMEタイプ: ' + mimeType);
Logger.log('サイズ: ' + file.getSize() + ' bytes');
Logger.log('作成日時: ' + file.getDateCreated());
Logger.log('最終更新日時: ' + file.getLastUpdated());
try {
Logger.log('所有者: ' + file.getOwner().getEmailAddress());
} catch (e) {
Logger.log('所有者: 取得できません');
}
Logger.log('説明: ' + file.getDescription());
Logger.log('共有設定: ' + file.getSharingAccess());
} else {
Logger.log('指定されたファイルはJPEGまたはPNGではありません。');
}
}
このコードを使えば、特定のファイルIDを持つ画像(JPEGまたはPNG)を取得し、その詳細情報をログに出力できる。
DriveApp.getFileById(fileId)は画像のファイルIDを指定して画像を取得しているぞ。
たとえば、こんな感じのログが出力されるはずだ。
練習問題
以下の条件に従って、GASを用いてGoogleドライブ内のPNG画像を取得し、そのファイル名をコンソールに出力するスクリプトを書け。
- 特定のフォルダIDを使って、該当フォルダを選択すること。
- PNG画像のみを対象とすること。
- 取得した画像のファイル名をログに出力すること。
解答と解説
function getPngImages() {
const folderId = 'your-folder-id';
const folder = DriveApp.getFolderById(folderId);
const files = folder.getFilesByType(MimeType.PNG);
while (files.hasNext()) {
const file = files.next();
Logger.log(file.getName());
}
}
指定したフォルダIDを使って、フォルダを取得し、その中のPNGファイルのみを探し出す。
MimeType.PNGはPNGファイルのMIMEタイプを表し、getFilesByType()メソッドで指定したタイプのファイルを取得できる。