Class DriveApp

DriveApp

スクリプトによる Google ドライブ内のファイルやフォルダの作成、検索、変更を許可します。ファイルや 高度なドライブ サービスを使用できます。

// Logs the name of every file in the user's Drive.
var files = DriveApp.getFiles();
while (files.hasNext()) {
  var file = files.next();
  console.log(file.getName());
}

プロパティ

プロパティタイプ説明
AccessAccessファイルまたはフォルダにアクセスできるユーザーのクラスを表す列挙型。 ユーザーが含まれます。
PermissionPermissionファイルやフォルダにアクセスできるユーザーに付与された権限を表す列挙型。 個人ユーザーに適用されます。

メソッド

メソッド戻り値の型概要
continueFileIterator(continuationToken)FileIterator前のイテレータからの継続トークンを使用してファイルの反復処理を再開します。
continueFolderIterator(continuationToken)FolderIterator前のイテレータからの継続トークンを使用して、フォルダの反復処理を再開します。
createFile(blob)File指定された任意のデータの Blob から、ユーザーのドライブのルートにファイルを作成します。
createFile(name, content)Fileユーザーのドライブのルートに、指定の名前と内容でテキスト ファイルを作成します。
createFile(name, content, mimeType)Fileユーザーのドライブのルートに、指定した名前、コンテンツ、MIME タイプでファイルを作成します。
createFolder(name)Folderユーザーのドライブのルートに、指定した名前のフォルダを作成します。
createShortcut(targetId)File指定されたドライブのアイテム ID へのショートカットを作成して返します。
createShortcutForTargetIdAndResourceKey(targetId, targetResourceKey)File指定されたドライブのアイテム ID とリソースキーのショートカットを作成して返します。
enforceSingleParent(value)voidアイテムの親に影響するすべての呼び出しに対する enforcingSingleParent の動作を有効または無効にします。
getFileById(id)File指定された ID のファイルを取得します。
getFileByIdAndResourceKey(id, resourceKey)File指定された ID とリソースキーのファイルを取得します。
getFiles()FileIteratorユーザーのドライブ内のすべてのファイルのコレクションを取得します。
getFilesByName(name)FileIteratorユーザーのドライブ内で指定された名前を持つすべてのファイルのコレクションを取得します。
getFilesByType(mimeType)FileIteratorユーザーのドライブ内にある、指定された MIME タイプを持つすべてのファイルのコレクションを取得します。
getFolderById(id)Folder指定された ID のフォルダを取得します。
getFolderByIdAndResourceKey(id, resourceKey)Folder指定された ID とリソースキーを持つフォルダを取得します。
getFolders()FolderIteratorユーザーのドライブ内のすべてのフォルダのコレクションを取得します。
getFoldersByName(name)FolderIteratorユーザーのドライブ内で指定された名前を持つすべてのフォルダのコレクションを取得します。
getRootFolder()Folderユーザーのドライブのルートにあるフォルダを取得します。
getStorageLimit()Integerユーザーがドライブに保存できるバイト数を取得します。
getStorageUsed()Integerユーザーが現在ドライブに保存されているバイト数を取得します。
getTrashedFiles()FileIteratorユーザーのドライブのゴミ箱にあるすべてのファイルのコレクションを取得します。
getTrashedFolders()FolderIteratorユーザーのドライブのゴミ箱にあるすべてのフォルダのコレクションを取得します。
searchFiles(params)FileIterator指定した検索に一致する、ユーザーのドライブ内のすべてのファイルのコレクションを取得します できます。
searchFolders(params)FolderIterator指定した検索に一致するユーザーのドライブ内のすべてのフォルダのコレクションを取得します できます。

詳細なドキュメント

continueFileIterator(continuationToken)

前のイテレータからの継続トークンを使用してファイルの反復処理を再開します。この方法は は、1 回の実行におけるイテレータの処理が最大実行時間を超えた場合に役立ちます。 通常、継続トークンは 1 週間有効です。

// Continues getting a list of all 'Untitled document' files in the user's Drive.
// Creates a file iterator named 'previousIterator'.
const previousIterator = DriveApp.getFilesByName('Untitled document');

// Gets continuation token from the previous file iterator.
const continuationToken = previousIterator.getContinuationToken();

// Creates a new iterator using the continuation token from the previous file iterator.
const newIterator = DriveApp.continueFileIterator(continuationToken);

// Resumes the file iteration using a continuation token from 'firstIterator' and
// logs the file name.
if (newIterator.hasNext()) {
  const file = newIterator.next();
  console.log(file.getName());
}

パラメータ

名前説明
continuationTokenString前のファイル イテレータからの継続トークン。

戻る

FileIterator - 継続トークンが呼び出されたときに以前のイテレータに残っていたファイルのコレクション 生成されます。


continueFolderIterator(continuationToken)

前のイテレータからの継続トークンを使用して、フォルダの反復処理を再開します。この方法は は、1 回の実行におけるイテレータの処理が最大実行時間を超えた場合に役立ちます。 通常、継続トークンは 1 週間有効です。

// Continues getting a list of all folders in user's Drive.
// Creates a folder iterator named 'previousIterator'.
const previousIterator = DriveApp.getFolders();

// Gets continuation token from the previous folder iterator.
const continuationToken = previousIterator.getContinuationToken();

// Creates a new iterator using the continuation token from the previous folder iterator.
const newIterator = DriveApp.continueFolderIterator(continuationToken);

// Resumes the folder iteration using a continuation token from the previous iterator and logs
// the folder name.
if (newIterator.hasNext()) {
  const folder = newIterator.next();
  console.log(folder.getName());
}

パラメータ

名前説明
continuationTokenString前のフォルダ イテレータからの継続トークン。

戻る

FolderIterator - 継続実行時に前のイテレータに残っていたフォルダのコレクション 生成されます。


createFile(blob)

指定された任意のデータの Blob から、ユーザーのドライブのルートにファイルを作成します。

// Create an image file in Google Drive using the Maps service.
var blob = Maps.newStaticMap().setCenter('76 9th Avenue, New York NY').getBlob();
DriveApp.createFile(blob);

パラメータ

名前説明
blobBlobSource新しいファイルのデータ。

戻る

File - 新しいファイル。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。

  • https://www.googleapis.com/auth/drive

createFile(name, content)

ユーザーのドライブのルートに、指定の名前と内容でテキスト ファイルを作成します。以下がスローされます。 content が 50 MB を超える場合、例外が発生します。

// Create a text file with the content "Hello, world!"
DriveApp.createFile('New Text File', 'Hello, world!');

パラメータ

名前説明
nameString新しいファイルの名前。
contentString新しいファイルの内容。

戻る

File - 新しいファイル。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。

  • https://www.googleapis.com/auth/drive

createFile(name, content, mimeType)

ユーザーのドライブのルートに、指定した名前、コンテンツ、MIME タイプでファイルを作成します。例外 content が 10 MB を超える場合は例外。

// Create an HTML file with the content "Hello, world!"
DriveApp.createFile('New HTML File', '<b>Hello, world!</b>', MimeType.HTML);

パラメータ

名前説明
nameString新しいファイルの名前。
contentString新しいファイルの内容。
mimeTypeString新しいファイルの MIME タイプ。

戻る

File - 新しいファイル。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。

  • https://www.googleapis.com/auth/drive

createFolder(name)

ユーザーのドライブのルートに、指定した名前のフォルダを作成します。

パラメータ

名前説明
nameString新しいフォルダの名前。

戻る

Folder - 新しいフォルダ。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。

  • https://www.googleapis.com/auth/drive

createShortcut(targetId)

指定されたドライブのアイテム ID へのショートカットを作成して返します。

パラメータ

名前説明
targetIdString対象のファイルまたはフォルダのファイル ID。

戻る

File - 新しいショートカットです。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。

  • https://www.googleapis.com/auth/drive

createShortcutForTargetIdAndResourceKey(targetId, targetResourceKey)

指定されたドライブのアイテム ID とリソースキーのショートカットを作成して返します。リソース key は、ターゲット ファイルまたはターゲット フォルダにアクセスするために リンクを使用して共有されました。

// Creates shortcuts for all folders in the user's drive that have a specific name.
// TODO(developer): Replace 'Test-Folder' with a valid folder name in your drive.
const folders = DriveApp.getFoldersByName('Test-Folder');

// Iterates through all folders named 'Test-Folder'.
while (folders.hasNext()) {
  const folder = folders.next();

  // Creates a shortcut to the provided Drive item ID and resource key, and returns it.
  DriveApp.createShortcutForTargetIdAndResourceKey(folder.getId(), folder.getResourceKey());
}

パラメータ

名前説明
targetIdStringターゲット ファイルまたはフォルダの ID。
targetResourceKeyStringターゲット ファイルまたはフォルダのリソースキー。

戻る

File - 新しいショートカットです。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。

  • https://www.googleapis.com/auth/drive

enforceSingleParent(value)

アイテムの親に影響するすべての呼び出しに対する enforcingSingleParent の動作を有効または無効にします。

Google ドライブのフォルダ構造と共有モデルの簡素化に関するブログ記事 詳しく見ていきます

// Enables enforceSingleParent behavior for all calls affecting item parents.
DriveApp.enforceSingleParent(true);

パラメータ

名前説明
valueBooleanenforcingSingleParent フラグの新しい状態。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。

  • https://www.googleapis.com/auth/drive

getFileById(id)

指定された ID のファイルを取得します。ファイルが存在しない場合、または アクセス権限がありません。

// Gets a list of all files in Google Drive with the given name.
// TODO(developer): Replace 'Test' with your file name.
const files = DriveApp.getFilesByName('Test');

if (files.hasNext()) {
  // Gets the ID of each file in the list.
  const fileId = files.next().getId();

  // Gets the file name using its ID and logs it to the console.
  console.log(DriveApp.getFileById(fileId).getName());
}

パラメータ

名前説明
idStringファイルの ID。

戻る

File - 指定された ID のファイル。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFileByIdAndResourceKey(id, resourceKey)

指定された ID とリソースキーのファイルを取得します。リソースキーは追加のパラメータ リンクを使用して共有されたファイルにアクセスするには、この引数を渡す必要があります。

ファイルが存在しない場合、またはユーザーに権限がない場合、スクリプト例外をスローします。 アクセスできません。

// Gets a list of all files in Drive with the given name.
// TODO(developer): Replace 'Test' with your file name.
const files = DriveApp.getFilesByName('Test');
if (files.hasNext()) {

  // Gets the first file in the list.
  const file = files.next();

  // Gets the ID and resource key.
  const key = file.getResourceKey();
  const id = file.getId();

  // Logs the file name to the console using its ID and resource key.
  console.log(DriveApp.getFileByIdAndResourceKey(id, key).getName());
}

パラメータ

名前説明
idStringファイルの ID。
resourceKeyStringフォルダのリソースキー。

戻る

File - 指定された ID のファイル。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFiles()

ユーザーのドライブ内のすべてのファイルのコレクションを取得します。

戻る

FileIterator - ユーザーのドライブ内のすべてのファイルのコレクション。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFilesByName(name)

ユーザーのドライブ内で指定された名前を持つすべてのファイルのコレクションを取得します。

パラメータ

名前説明
nameString検索するファイルの名前。

戻る

FileIterator — ユーザーのドライブ内で指定された名前を持つすべてのファイルのコレクション。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFilesByType(mimeType)

ユーザーのドライブ内にある、指定された MIME タイプを持つすべてのファイルのコレクションを取得します。

パラメータ

名前説明
mimeTypeString検索するファイルの MIME タイプ。

戻る

FileIterator - ユーザーのドライブ内で指定された MIME を持つすべてのファイルのコレクション あります。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFolderById(id)

指定された ID のフォルダを取得します。フォルダが存在しない場合、またはフォルダが存在しない場合は、スクリプト例外をスローします。 アクセス権限がありません。

パラメータ

名前説明
idStringフォルダの ID。

戻る

Folder - 指定された ID のフォルダ。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFolderByIdAndResourceKey(id, resourceKey)

指定された ID とリソースキーを持つフォルダを取得します。リソースキーは追加のパラメータ リンクを使用して共有されているフォルダにアクセスするために渡す必要があります。

フォルダが存在しない場合、またはユーザーに権限がない場合、スクリプト例外をスローします。 アクセスできません。

パラメータ

名前説明
idStringフォルダの ID。
resourceKeyStringフォルダのリソースキー。

戻る

Folder - 指定された ID のフォルダ。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFolders()

ユーザーのドライブ内のすべてのフォルダのコレクションを取得します。

戻る

FolderIterator - ユーザーのドライブ内のすべてのフォルダのコレクション。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getFoldersByName(name)

ユーザーのドライブ内で指定された名前を持つすべてのフォルダのコレクションを取得します。

パラメータ

名前説明
nameString検索するフォルダの名前。

戻る

FolderIterator - ユーザーのドライブ内で指定された名前を持つすべてのフォルダのコレクション。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getRootFolder()

ユーザーのドライブのルートにあるフォルダを取得します。

// Gets the user's My Drive folder and logs its name to the console.
console.log(DriveApp.getRootFolder().getName());

// Logs the Drive owner's name to the console.
console.log(DriveApp.getRootFolder().getOwner().getName());

戻る

Folder - ユーザーのドライブのルートフォルダ。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getStorageLimit()

ユーザーがドライブに保存できるバイト数を取得します。

// Gets the number of bytes the user can store in Drive and logs it to the console.
console.log(DriveApp.getStorageLimit());

戻る

Integer - ユーザーがドライブに保存できるバイト数。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getStorageUsed()

ユーザーが現在ドライブに保存されているバイト数を取得します。

// Gets the number of bytes the user is currently storing in Drive and logs it to the console.
console.log(DriveApp.getStorageUsed());

戻る

Integer - ユーザーが現在ドライブに保存しているバイト数。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getTrashedFiles()

ユーザーのドライブのゴミ箱にあるすべてのファイルのコレクションを取得します。

// Gets a list of all the files in the trash of the user's Drive.
const trashFiles = DriveApp.getTrashedFiles();

// Logs the trash file names to the console.
while (trashFiles.hasNext()) {
  const file = trashFiles.next();
  console.log(file.getName());
}

戻る

FileIterator - ゴミ箱内のファイルのコレクション。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

getTrashedFolders()

ユーザーのドライブのゴミ箱にあるすべてのフォルダのコレクションを取得します。

// Gets a collection of all the folders in the trash of the user's Drive.
const trashFolders = DriveApp.getTrashedFolders();

// Logs the trash folder names to the console.
while (trashFolders.hasNext()) {
  const folder = trashFolders.next();
  console.log(folder.getName());
}

戻る

FolderIterator - ゴミ箱内のフォルダのコレクション。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

searchFiles(params)

指定した検索に一致する、ユーザーのドライブ内のすべてのファイルのコレクションを取得します できます。検索条件について詳しくは、Google ドライブ SDK のドキュメントをご覧ください。ドライブは サービスは Drive API v2 を使用し、一部のクエリ フィールドは v3 と異なります。フィールドを確認 v2 と v3 の違いについての説明をご覧ください。

params 引数は文字列値を格納できるクエリ文字列であるため、 引用符を正しくエスケープします(例: "title contains 'Gulliver\\'s Travels'"'title contains "Gulliver\'s Travels"')。

// Logs the name of every file in the user's Drive that modified after February 28,
// 2022 whose name contains "untitled.""
var files = DriveApp.searchFiles(
    'modifiedDate > "2022-02-28" and title contains "untitled"');
while (files.hasNext()) {
  var file = files.next();
  console.log(file.getName());
}

パラメータ

名前説明
paramsString検索条件。Google Drive SDK のドキュメントに詳述されています。

戻る

FileIterator - ユーザーのドライブ内にある、検索条件に一致するすべてのファイルのコレクション できます。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

searchFolders(params)

指定した検索に一致するユーザーのドライブ内のすべてのフォルダのコレクションを取得します できます。検索条件について詳しくは、Google ドライブ SDK のドキュメントをご覧ください。ドライブは サービスは Drive API v2 を使用し、一部のクエリ フィールドは v3 と異なります。フィールドを確認 v2 と v3 の違いについての説明をご覧ください。

params 引数は文字列値を格納できるクエリ文字列であるため、 引用符を正しくエスケープします(例: "title contains 'Gulliver\\'s Travels'"'title contains "Gulliver\'s Travels"')。

// Logs the name of every folder in the user's Drive that you own and is starred.
var folders = DriveApp.searchFolders('starred = true and "me" in owners');
while (folders.hasNext()) {
  var folder = folders.next();
  console.log(folder.getName());
}

パラメータ

名前説明
paramsString検索条件。Google Drive SDK のドキュメントに詳述されています。

戻る

FolderIterator - ユーザーのドライブ内にある、検索条件に一致するすべてのフォルダのコレクション できます。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上を使用した承認が必要です。

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive

サポート終了のメソッド