スクリプトが Google ドライブ内のファイルとフォルダを作成、検索、変更できるようにします。共有ドライブ内のファイルまたはフォルダにアクセスするには、ドライブの高度なサービスを使用します。
// Logs the name of every file in the user's Drive. const files = DriveApp.getFiles(); while (files.hasNext()) { const file = files.next(); console.log(file.getName()); }
プロパティ
プロパティ | タイプ | 説明 |
---|---|---|
Access | Access | 明示的にアクセス権が付与されている個々のユーザーのほかに、ファイルまたはフォルダにアクセスできるユーザーのクラスを表す列挙型。 |
Permission | Permission | ファイルまたはフォルダにアクセスできるユーザーに付与される権限を表す列挙型。明示的にアクセス権が付与された個々のユーザーは除きます。 |
メソッド
メソッド | 戻り値の型 | 概要 |
---|---|---|
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 | アイテムの親に影響するすべての呼び出しに対して enforceSingleParent 動作を有効または無効にします。 |
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()); }
パラメータ
名前 | 型 | 説明 |
---|---|---|
continuationToken | String | 前のファイル イテレータからの連続トークン。 |
戻る
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()); }
パラメータ
名前 | 型 | 説明 |
---|---|---|
continuationToken | String | 前のフォルダ イテレータからの連続トークン。 |
戻る
FolderIterator
- 連続トークンが生成されたときに前のイテレータに残っていたフォルダのコレクション。
createFile(blob)
任意のデータの指定された Blob
から、ユーザーのドライブのルートにファイルを作成します。
パラメータ
名前 | 型 | 説明 |
---|---|---|
blob | BlobSource | 新しいファイルのデータ。 |
戻る
File
- 新しいファイル。
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。
-
https://www.googleapis.com/auth/drive
createFile(name, content)
指定された名前と内容のテキスト ファイルをユーザーの Google ドライブのルートに作成します。content
が 50 MB を超える場合、例外をスローします。
// Create a text file with the content "Hello, world!" DriveApp.createFile('New Text File', 'Hello, world!');
パラメータ
名前 | 型 | 説明 |
---|---|---|
name | String | 新しいファイルの名前。 |
content | String | 新しいファイルの内容。 |
戻る
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);
パラメータ
名前 | 型 | 説明 |
---|---|---|
name | String | 新しいファイルの名前。 |
content | String | 新しいファイルの内容。 |
mimeType | String | 新しいファイルの MIME タイプ。 |
戻る
File
- 新しいファイル。
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。
-
https://www.googleapis.com/auth/drive
createFolder(name)
createShortcut(targetId)
createShortcutForTargetIdAndResourceKey(targetId, targetResourceKey)
指定されたドライブ アイテム ID とリソースキーへのショートカットを作成して返します。リソースキーは、リンクを使用して共有されたターゲット ファイルまたはフォルダにアクセスするために渡す必要がある追加のパラメータです。
// 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(), ); }
パラメータ
名前 | 型 | 説明 |
---|---|---|
targetId | String | 対象のファイルまたはフォルダの ID。 |
targetResourceKey | String | 対象のファイルまたはフォルダのリソースキー。 |
戻る
File
- 新しいショートカット。
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。
-
https://www.googleapis.com/auth/drive
enforceSingleParent(value)
アイテムの親に影響するすべての呼び出しで enforceSingleParent 動作を有効または無効にします。
詳しくは、 Google ドライブのフォルダ構造と共有モデルの簡素化に関するブログ投稿をご覧ください。
// Enables enforceSingleParent behavior for all calls affecting item parents. DriveApp.enforceSingleParent(true);
パラメータ
名前 | 型 | 説明 |
---|---|---|
value | Boolean | enforceSingleParent フラグの新しい状態。 |
承認
このメソッドを使用するスクリプトには、次のスコープの 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()); }
パラメータ
名前 | 型 | 説明 |
---|---|---|
id | String | ファイルの 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()); }
パラメータ
名前 | 型 | 説明 |
---|---|---|
id | String | ファイルの ID。 |
resourceKey | String | フォルダのリソースキー。 |
戻る
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)
指定された名前を持つ、ユーザーのドライブ内のすべてのファイルのコレクションを取得します。
パラメータ
名前 | 型 | 説明 |
---|---|---|
name | String | 検索するファイルの名前。 |
戻る
FileIterator
- 指定された名前を持つユーザーのドライブ内のすべてのファイルのコレクション。
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive
getFilesByType(mimeType)
指定された MIME タイプのユーザーのドライブ内のすべてのファイルのコレクションを取得します。
パラメータ
名前 | 型 | 説明 |
---|---|---|
mimeType | String | 検索するファイルの MIME タイプ。 |
戻る
FileIterator
- 指定された MIME タイプのユーザーのドライブ内のすべてのファイルのコレクション。
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive
getFolderById(id)
getFolderByIdAndResourceKey(id, resourceKey)
指定された ID とリソースキーのフォルダを取得します。リソースキーは、リンクを使用して共有されたフォルダにアクセスするために渡す必要がある追加のパラメータです。
フォルダが存在しない場合、またはユーザーにフォルダへのアクセス権がない場合は、スクリプト例外をスローします。
パラメータ
名前 | 型 | 説明 |
---|---|---|
id | String | フォルダの ID。 |
resourceKey | String | フォルダのリソースキー。 |
戻る
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)
指定された名前を持つユーザーのドライブ内のすべてのフォルダのコレクションを取得します。
パラメータ
名前 | 型 | 説明 |
---|---|---|
name | String | 検索するフォルダの名前。 |
戻る
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 サービスは 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."" const files = DriveApp.searchFiles( 'modifiedDate > "2022-02-28" and title contains "untitled"'); while (files.hasNext()) { const file = files.next(); console.log(file.getName()); }
パラメータ
名前 | 型 | 説明 |
---|---|---|
params | String | 検索条件(Google Drive SDK のドキュメントで詳細をご確認ください)。 |
戻る
FileIterator
- 検索条件に一致するユーザーのドライブ内のすべてのファイルのコレクション。
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive
searchFolders(params)
指定した検索条件に一致する、ユーザーのドライブ内のすべてのフォルダのコレクションを取得します。検索条件の詳細については、Google ドライブ SDK のドキュメントをご覧ください。Drive サービスは 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. const folders = DriveApp.searchFolders('starred = true and "me" in owners'); while (folders.hasNext()) { const folder = folders.next(); console.log(folder.getName()); }
パラメータ
名前 | 型 | 説明 |
---|---|---|
params | String | 検索条件(Google Drive SDK のドキュメントで詳細をご確認ください)。 |
戻る
FolderIterator
- 検索条件に一致するユーザーのドライブ内のすべてのフォルダのコレクション。
承認
このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。
-
https://www.googleapis.com/auth/drive.readonly
-
https://www.googleapis.com/auth/drive