フォルダ はメタデータのみを含むファイルで、Google ドライブ内のファイルを整理するために使用できます。フォルダには次のプロパティがあります。
- フォルダは MIME タイプ
application/vnd.google-apps.folderのファイルで、拡張子はありません。 - エイリアス
rootを使用すると、ファイル ID が指定されている場所でルートフォルダを参照できます。
ドライブのフォルダの上限について詳しくは、ファイルと フォルダの上限をご覧ください。
このガイドでは、フォルダに関連する基本的なタスクを行う方法について説明します。
フォルダを作成する
フォルダを作成するには、files.create()
メソッドと mimeType の application/vnd.google-apps.folder および name を使用します。
次のコードサンプルは、クライアント ライブラリを使用してフォルダを作成する方法を示しています。
Java
Python
Node.js
PHP
.NET
curl
curl -X POST 'https://www.googleapis.com/drive/v3/files' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"name": "FOLDER_NAME",
"mimeType": "application/vnd.google-apps.folder"
}'
次のように置き換えます。
- ACCESS_TOKEN:アプリの OAuth 2.0 トークン。
- FOLDER_NAME: 作成するフォルダの名前。
特定のフォルダにファイルを作成する
特定のフォルダにファイルを作成するには、files.create() メソッドを使用し、ファイルの
parents プロパティにフォルダ ID を指定します。
parents プロパティには、ファイルを含む親フォルダの ID が格納されます。parents プロパティは、最上位フォルダまたは他のフォルダにファイルを作成するときに使用できます。
ファイルに設定できる親フォルダは 1 つのみです。複数の親を指定することはできません。parents フィールドが指定されていない場合、ファイルはユーザーのマイドライブ フォルダに直接配置されます。
次のコードサンプルは、クライアント ライブラリを使用して特定のフォルダにファイルを作成する方法を示しています。
Java
Python
Node.js
PHP
.NET
curl
curl -X POST 'https://www.googleapis.com/drive/v3/files' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"name": "photo.jpg",
"parents": [
"FOLDER_ID"
]
}'
次のように置き換えます。
- ACCESS_TOKEN:アプリの OAuth 2.0 トークン。
- FOLDER_ID: ファイルを作成するフォルダの ID。
フォルダ間でファイルを移動する
ファイルを移動するには、parents プロパティの ID を更新する必要があります。
既存のファイルの親を追加または削除するには、files.update() メソッドを addParents または
removeParents クエリ パラメータとともに使用します。
ファイルに設定できる親フォルダは 1 つのみです。複数の親を指定することはできません。
をご覧ください。次のコードサンプルは、クライアント ライブラリを使用してフォルダ間でファイルを移動する方法を示しています。
Java
Python
Node.js
PHP
.NET
curl
curl -X PATCH 'https://www.googleapis.com/drive/v3/files/FILE_ID?addParents=NEW_PARENT_ID&removeParents=PREVIOUS_PARENT_ID' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Accept: application/json'
次のように置き換えます。
- FILE_ID: 移動するファイルの ID。
- NEW_PARENT_ID: ファイルの移動先のフォルダの ID 。
- PREVIOUS_PARENT_ID: ファイルの削除元の 親フォルダのカンマ区切りのリスト。
- ACCESS_TOKEN:アプリの OAuth 2.0 トークン。
ファイルとフォルダの上限
ドライブのファイルとフォルダには、保存容量の上限があります。
ユーザーあたりのアイテム数の上限
各ユーザーは、そのアカウントで作成したアイテムを最大 5 億個保持することができます。 上限に達すると、ユーザーはドライブでアイテムを作成またはアップロードできなくなります。既存のアイテムは引き続き表示および編集できます。ファイルを再び作成できるようにするには、アイテムを完全に削除するか、別のアカウントを使用する必要があります。詳細については、ファイルとフォルダをゴミ箱に移動するまたは削除する をご覧ください。
この上限にカウントされるオブジェクトは次のとおりです。
- ユーザーがドライブで作成またはアップロードしたアイテム
- ユーザーが作成したが、現在は別のユーザーが所有しているアイテム
- ゴミ箱内のアイテム
- ショートカット
- サードパーティのショートカット
この上限にカウントされないオブジェクトは次のとおりです。
- 完全に削除されたアイテム
- ユーザーと共有されているが、他のユーザーが所有するアイテム
- ユーザーが所有するが、別のユーザーが作成したアイテム
5 億個を超えるアイテムを追加しようとすると、
activeItemCreationLimitExceeded
HTTP ステータス コード レスポンスが返されます。
サービス アカウントはファイルを所有できません。代わりに、ファイルとフォルダを共有ドライブにアップロードするか、OAuth 2.0 を使用してユーザーの代わりにアイテムをアップロードする必要があります。
フォルダあたりのアイテム数の上限
ユーザーのマイドライブの各フォルダには、50 万個のアイテムの上限があります。 この上限はマイドライブのルートフォルダには適用されません。この上限にカウントされるアイテムは次のとおりです。
- フォルダ
- ファイル。ファイルの所有者に関係なく、すべてのファイル形式。
- ショートカット。参照先のアイテムがそのフォルダ内にない場合でも、フォルダ内の 1 つのアイテムとしてカウントされます。詳細については、ドライブ ファイルへの ショートカットを作成するをご覧ください。
- サードパーティのショートカット。参照先のアイテムがそのフォルダ内にない場合でも、フォルダ内の 1 つのアイテムとしてカウントされます。詳細については、 アプリが保存したコンテンツへのショートカット ファイルを作成する をご覧ください。
フォルダの上限について詳しくは、Google ドライブの フォルダの上限をご覧ください。
フォルダの深さの上限
ユーザーのマイドライブに含められるフォルダ階層は最大 100 レベルです。つまり、子フォルダを 99 レベルを超えるフォルダに保存することはできません。この制限は子フォルダにのみ適用されます。MIME タイプが 以外の子ファイルには、この制限は適用されません。application/vnd.google-apps.folder
たとえば、次の図では、新しいフォルダをフォルダ番号 99 の内部にネストできますが、フォルダ番号 100 の内部にネストすることはできません。ただし、フォルダ番号 100 には、他のドライブ フォルダと同様にファイルを保存できます。
100 レベルを超えるフォルダを追加しようとすると、
myDriveHierarchyDepthLimitExceeded
HTTP ステータス コード レスポンスが返されます。