Google Apps ScriptでGoogleドライブファイルを簡単に取得する方法
GASを使ってGoogleドライブからファイルを取得
GASを使えば、Googleドライブ上のファイルを簡単に取得可能だ。
まずは基本のセットアップ
GASでGoogleドライブを操作するために、最初にスクリプトエディタを開いて準備をしよう。
function getFile() {
var file = DriveApp.getFileById('ファイルIDをここに入力');
Logger.log(file.getName());
}
このコードは、ファイルIDを指定してそのファイルを取得し、名前をログに出力するものだ。
DriveApp の getFileById メソッドを使用すると、指定したIDでファイルを取得できる。
フォルダ内のファイルを一括取得
フォルダの中にあるすべてのファイルを取得する場合もあるだろう。その場合は次のように進める。
function getAllFilesInFolder() {
var folder = DriveApp.getFolderById('フォルダIDをここに入力');
var files = folder.getFiles();
while (files.hasNext()) {
var file = files.next();
Logger.log(file.getName());
}
}
このコードは、指定したフォルダ内のすべてのファイルを取得し、それぞれのファイル名をログに出力するものだ。
フォルダやファイルを操作するためには、DriveApp クラスを活用する必要があるさ。
Googleドライブのファイル検索を活用する
特定の名前や条件に合うファイルを取得したいときには、ファイル検索機能を使おう。
ファイル名で検索する方法
次のスクリプト例では、「レポート」という名前を含むすべてのファイルを取得する。
function searchFilesByName() {
var files = DriveApp.searchFiles('title contains "レポート"');
while (files.hasNext()) {
var file = files.next();
Logger.log(file.getName());
}
}
このコードは「レポート」という名前を含むファイルを検索する。
DriveApp の searchFiles メソッドを使えば、指定したクエリ条件にマッチするファイルを取得可能だ。
練習問題
- GASを使用して、自分のGoogleドライブ内の特定のファイルIDをもとにファイル名を取得してみよう。
- フォルダIDを使ってその中のファイルをすべて取得し、ファイル名をログで確認するスクリプトを作成してみよう。
解答・解説
function getFile() {
var file = DriveApp.getFileById('あなたのファイルIDをここに入力');
Logger.log(file.getName());
}
このスクリプトは、指定されたファイルIDのファイルを取得し、その名前をログに出力するものだ。DriveApp.getFileById メソッドを使ってファイルを取得する。
function getAllFilesInFolder() {
var folder = DriveApp.getFolderById('あなたのフォルダIDをここに入力');
var files = folder.getFiles();
while (files.hasNext()) {
var file = files.next();
Logger.log(file.getName());
}
}
このスクリプトは、指定したフォルダ内にあるすべてのファイルを取得し、それぞれの名前をログに出力する。DriveApp.getFolderById でフォルダを取得し、getFiles メソッドでファイルのイテレータを取得している。