Drive API を利用して、マイドライブ、共有ドライブ、組織/グループフォルダを管理できます。
file または file.read scope では、すべての Drive API を使用できます。group.folder または group.folder.read scope では、組織/グループフォルダに関する Drive API のみを使用できます。
Drive API は、User Account 認証で取得した Access Token で利用できます。Service Account 認証 (JWT) で取得した Token では利用できません。
利用しているプランとオプションにより、利用できる API に違いがあります。
マイドライブ、共有ドライブ、組織/グループフォルダそれぞれに対して異なる API が用意されていますが、使い方はよく似ています。
マイドライブには権限を管理する API は提供されていない、ドライブを作成・削除する API は共有ドライブにのみ提供されているなど、ドライブのタイプにより利用できる API に若干の違いがあります。
いずれのドライブのタイプでも、ファイルのアップロード、ファイル一覧の取得、フォルダの作成には、ルートフォルダとそれ以外のフォルダで異なる API が用意されています。
ドライブ内のフォルダ・ファイルにアクセスする場合には、まずルートフォルダ内のファイルリストを取得し、つぎに取得されたリスト内のフォルダを対象にフォルダ内のリストを取得し、と、フォルダ階層に沿って API を呼び出してアクセスします。
共有ドライブ ID sharedriveId やファイル ID fileId など、アクセスに必要なパラメータが既にわかっている場合には、目的の情報に直接アクセスすることもできます。
マイドライブの利用には特別な準備は必要ありません。
アドバンストプラン、または、スタンダードプランと Drive オプションをご利用のお客様は、マイドライブを利用できます。マイドライブが利用できるプランまたはオプションを利用しているのにマイドライブが利用できない場合には、マイドライブの利用が許可されて居ない可能性がありますので、管理者画面より、マイドライブの利用が許可されているか確認してください。
Drive API では、マイドライブの使用量を確認できます。
ユーザーのマイドライブは一つですので、マイドライブのリストを取得する API はありません。また、権限を管理する API もありません。
| HTTP Request | Description |
|---|---|
| GET /users/{userId}/drive | マイドライブ - ドライブプロパティの取得 |
共有ドライブは、モバイルアプリ、ブラウザ、Drive エクスプローラーのほか、以下の API で管理できます。
| HTTP Request | Description |
|---|---|
| POST /sharedrives | 共有ドライブ - 共有ドライブの作成 |
| GET /sharedrives | 共有ドライブ - 共有ドライブリストの取得 |
| GET /sharedrives/{sharedriveId} | 共有ドライブ - ドライブプロパティの取得 |
| PATCH /sharedrives/{sharedriveId} | 共有ドライブ - 共有ドライブの部分更新 |
| DELETE /sharedrives/{sharedriveId} | 共有ドライブ - 共有ドライブの削除 |
組織/グループフォルダは、組織 (orgUnit) とグループ (Group) の機能の一部です。このため、組織/グループフォルダの有効化・無効化は、組織またはグループを管理する API で useFolder プロパティを指定することで行います。
組織の操作には orgunit または directory scope が、グループの操作には group または directory scope が必要です。
| HTTP Request | Description |
|---|---|
| POST /orgunits | 組織の登録 |
| PUT /orgunits/{orgUnitId} | 組織の更新 |
| PATCH /orgunits/{orgUnitId} | 組織の部分更新 |
| HTTP Request | Description |
|---|---|
| POST /groups | グループの登録 |
| PUT /groups/{groupId} | グループの更新 |
| PATCH /groups/{groupId} | グループの部分更新 |
組織/グループフォルダを有効化 (useFolder = true) した後、以下の API により組織/グループフォルダを作成することで、組織/グループフォルダを利用できます。
| HTTP Request | Description |
|---|---|
| POST /groups/{groupId}/folder | 組織/グループ - 組織/グループフォルダの作成 |
以下の API で、組織/グループフォルダの使用量を確認できます。
| HTTP Request | Description |
|---|---|
| GET /groups/{groupId}/folder | 組織/グループ - 組織/グループフォルダプロパティの取得 |
組織/グループフォルダのデータを削除するには、以下の API を利用します。
| HTTP Request | Description |
|---|---|
| DELETE /groups/{groupId}/folder | 組織/グループ - 組織/グループフォルダの削除 |
組織/グループフォルダには組織 ID orgUnitId またはグループ ID groupId を指定してアクセスするため、組織/グループフォルダを取得する API はありません。また、組織/グループのフォルダの権限は、組織やグループのメンバーシップで管理するため、組織/グループフォルダの権限を管理する API もありません。
共有したフォルダは、モバイルアプリ、ブラウザ、Drive エクスプローラーのほか、以下の API で管理できます。
| HTTP Request | Description |
|---|---|
| GET /users/{userId}/drive/files/{fileId}/share | 共有したフォルダ - 取得 |
| POST /users/{userId}/drive/files/{fileId}/share | 共有したフォルダ - 作成 |
| PATCH /users/{userId}/drive/files/{fileId}/share | 共有したフォルダ - 部分更新 |
| DELETE /users/{userId}/drive/files/{fileId}/share | 共有したフォルダ - 共有解除 |
| GET /users/{userId}/drive/files/{fileId}/share-sub-folders | 共有したフォルダ - 共有したフォルダリストの取得 |
共有されたフォルダは、モバイルアプリ、ブラウザ、Drive エクスプローラーのほか、以下の API で管理できます。
| HTTP Request | Description |
|---|---|
| GET /users/{userId}/drive/sharedfolders | 共有されたフォルダ - 共有されたフォルダリストの取得 |
| DELETE /users/{userId}/drive/sharedfolders/{sharedFolderId} | 共有されたフォルダ - フォルダ共有の解除 |
| GET /users/{userId}/drive/sharedfolders/{sharedFolderId} | 共有されたフォルダ - 共有されたフォルダプロパティの取得 |
共有ドライブでは、共有ドライブの権限を管理する APIが用意されています。
| HTTP Request | Description |
|---|---|
| GET /sharedrives/{sharedriveId}/permissions | 共有ドライブ - 共有ドライブのアクセス権限リストの取得 |
| POST /sharedrives/{sharedriveId}/permissions | 共有ドライブ - 共有ドライブの権限登録 |
| GET /sharedrives/{sharedriveId}/permissions/{permissionId} | 共有ドライブ - 共有ドライブ権限の取得 |
| PATCH /sharedrives/{sharedriveId}/permissions/{permissionId} | 共有ドライブ - 共有ドライブ権限の部分更新 |
| DELETE /sharedrives/{sharedriveId}/permissions/{permissionId} | 共有ドライブ - 共有ドライブ権限の削除 |
| DELETE /sharedrives/{sharedriveId}/permissions | 共有ドライブ - 共有ドライブのアクセス権限の全削除 |
| POST /sharedrives/{sharedriveId}/permissions/enable | 共有ドライブ - 共有ドライブのアクセス権限有効化 (提供終了予定) |
| POST /sharedrives/{sharedriveId}/permissions/disable | 共有ドライブ - 共有ドライブのアクセス権限無効化 (提供終了予定) |
ファイルのアップロード、ファイル一覧の取得、フォルダの作成には、ルートフォルダとそれ以外のフォルダでは異なる API が用意されています。ルートフォルダでは以下の API を利用します。
| HTTP Request | Description |
|---|---|
| POST /users/{userId}/drive/files | マイドライブ - ルートフォルダにファイルをアップロード |
| GET /users/{userId}/drive/files | マイドライブ - ルートフォルダのファイルリストの取得 |
| POST /users/{userId}/drive/files/createfolder | マイドライブ - ルートフォルダにフォルダを作成 |
| HTTP Request | Description |
|---|---|
| POST /sharedrives/{sharedriveId}/files | 共有ドライブ - ルートフォルダにファイルをアップロード |
| GET /sharedrives/{sharedriveId}/files | 共有ドライブ - ルートフォルダのファイルリストの取得 |
| POST /sharedrives/{sharedriveId}/files/createfolder | 共有ドライブ - ルートフォルダにフォルダを作成 |
| HTTP Request | Description |
|---|---|
| POST /groups/{groupId}/folder/files | 組織/グループ - ルートフォルダにファイルをアップロード |
| GET /groups/{groupId}/folder/files | 組織/グループ - ルートフォルダのファイルリストの取得 |
| POST /groups/{groupId}/folder/files/createfolder | 組織/グループ - ルートフォルダにフォルダを作成 |
| HTTP Request | Description |
|---|---|
| POST /users/{userId}/drive/sharedfolders/{sharedFolderId}/files | 共有されたフォルダ - ルートフォルダにファイルをアップロード |
| GET /users/{userId}/drive/sharedfolders/{sharedFolderId}/files | 共有されたフォルダ - ルートフォルダのファイルリストの取得 |
| POST /users/{userId}/drive/sharedfolders/{sharedFolderId}/files/createfolder | 共有されたフォルダ - ルートフォルダにフォルダを作成 |
ファイルのアップロードとダウンロードは、ファイルアップロード / ダウンロード を参照します。
ファイルの編集を防ぐためのファイルのロックを設定・解除もできます。
| HTTP Request | Description |
|---|---|
| GET /users/{userId}/drive/files/{fileId}/children | マイドライブ - ファイルリストの取得 |
| GET /users/{userId}/drive/files/{fileId} | マイドライブ - ファイルプロパティの取得 |
| DELETE /users/{userId}/drive/files/{fileId} | マイドライブ - ファイルの削除 |
| POST /users/{userId}/drive/files/{fileId}/createfolder | マイドライブ - フォルダの作成 |
| POST /users/{userId}/drive/files/{fileId}/copy | マイドライブ - ファイルのコピー |
| POST /users/{userId}/drive/files/{fileId}/rename | マイドライブ - ファイル名の変更 |
| POST /users/{userId}/drive/files/{fileId}/move | マイドライブ - ファイルの移動 |
| POST /users/{userId}/drive/files/{fileId}/protect | マイドライブ - ファイルの重要マーク設定 |
| POST /users/{userId}/drive/files/{fileId}/unprotect | マイドライブ - ファイルの重要マーク解除 |
| POST /users/{userId}/drive/files/{fileId}/lock | マイドライブ - ファイルのロック設定 |
| POST /users/{userId}/drive/files/{fileId}/unlock | マイドライブ - ファイルのロック解除 |
| POST /users/{userId}/drive/files/{fileId} | マイドライブ - ファイルのアップロード |
| GET /users/{userId}/drive/files/{fileId}/download | マイドライブ - ファイルのダウンロード |
| HTTP Request | Description |
|---|---|
| GET /sharedrives/{sharedriveId}/files/{fileId}/children | 共有ドライブ - ファイルリストの取得 |
| GET /sharedrives/{sharedriveId}/files/{fileId} | 共有ドライブ - ファイルプロパティの取得 |
| DELETE /sharedrives/{sharedriveId}/files/{fileId} | 共有ドライブ - ファイルの削除 |
| POST /sharedrives/{sharedriveId}/files/{fileId}/createfolder | 共有ドライブ - フォルダの作成 |
| POST /sharedrives/{sharedriveId}/files/{fileId}/copy | 共有ドライブ - ファイルのコピー |
| POST /sharedrives/{sharedriveId}/files/{fileId}/rename | 共有ドライブ - ファイル名の変更 |
| POST /sharedrives/{sharedriveId}/files/{fileId}/move | 共有ドライブ - ファイルの移動 |
| POST /sharedrives/{sharedriveId}/files/{fileId}/protect | 共有ドライブ - ファイルの重要マーク設定 |
| POST /sharedrives/{sharedriveId}/files/{fileId}/unprotect | 共有ドライブ - ファイルの重要マーク解除 |
| POST /sharedrives/{sharedriveId}/files/{fileId}/lock | 共有ドライブ - ファイルのロック設定 |
| POST /sharedrives/{sharedriveId}/files/{fileId}/unlock | 共有ドライブ - ファイルのロック解除 |
| POST /sharedrives/{sharedriveId}/files/{fileId} | 共有ドライブ - ファイルのアップロード |
| GET /sharedrives/{sharedriveId}/files/{fileId}/download | 共有ドライブ - ファイルのダウンロード |
| HTTP Request | Description |
|---|---|
| GET /groups/{groupId}/folder/files/{fileId}/children | 組織/グループ - ファイルリストの取得 |
| GET /groups/{groupId}/folder/files/{fileId} | 組織/グループ - ファイルプロパティの取得 |
| DELETE /groups/{groupId}/folder/files/{fileId} | 組織/グループ- ファイルの削除 |
| POST /groups/{groupId}/folder/files/{fileId}/createfolder | 組織/グループ - フォルダの作成 |
| POST /groups/{groupId}/folder/files/{fileId}/copy | 組織/グループ - ファイルのコピー |
| POST /groups/{groupId}/folder/files/{fileId}/rename | 組織/グループ - ファイル名の変更 |
| POST /groups/{groupId}/folder/files/{fileId}/move | 組織/グループ - ファイルの移動 |
| POST /groups/{groupId}/folder/files/{fileId}/protect | 組織/グループ - ファイルの重要マーク設定 |
| POST /groups/{groupId}/folder/files/{fileId}/unprotect | 組織/グループ - ファイルの重要マーク解除 |
| POST /groups/{groupId}/folder/files/{fileId}/lock | 組織/グループ - ファイルのロック設定 |
| POST /groups/{groupId}/folder/files/{fileId}/unlock | 組織/グループ - ファイルのロック解除 |
| POST /groups/{groupId}/folder/files/{fileId} | 組織/グループ - ファイルのアップロード |
| GET /groups/{groupId}/folder/files/{fileId}/download | 組織/グループ - ファイルのダウンロード |
共有ドライブと組織/グループフォルダには、フォルダの権限を管理する API が用意されています。
既定では、フォルダは、上位フォルダの権限を引き継ぎます。フォルダアクセス権限有効化 を行うことで、上位フォルダとは異なる権限を設定できます。
アクセス権限は、フォルダアクセス権限の登録 API を利用して、ユーザー・組織・グループに対して与えることができます。指定できる権限は読み取り権限 READ または書き込み権限 WRITE です。
フォルダアクセス権限リストの取得 API で、フォルダにアクセス権があるユーザー・組織・グループと、その権限の一覧が取得できます。アクセス権があるユーザー・組織・グループと、その権限の組み合わせには、アクセス権限 ID permissionId が割り当てられています。
permissionId を指定して フォルダアクセス権限の削除 API を呼び出すことで、そのユーザー・組織・グループへの権限を削除できます。
また、permissionId を指定して フォルダアクセス権限の部分更新 API を呼び出すと、権限を変更できます。
上位フォルダの権限を引き継ぐには、フォルダへのアクセス権限無効化 API を利用します。
フォルダアクセス権限の全削除 API を呼び出した場合には、共有ドライブや組織/グループマスターのみがアクセスできるフォルダになります。
マイドライブの権限は API では管理できません。
| HTTP Request | Description |
|---|---|
| POST /sharedrives/{sharedriveId}/files/{fileId}/permissions | 共有ドライブ - フォルダアクセス権限の登録 |
| GET /sharedrives/{sharedriveId}/files/{fileId}/permissions | 共有ドライブ - フォルダアクセス権限リストの取得 |
| GET /sharedrives/{sharedriveId}/files/{fileId}/permissions/{permissionId} | 共有ドライブ - フォルダアクセス権限の取得 |
| PATCH /sharedrives/{sharedriveId}/files/{fileId}/permissions/{permissionId} | 共有ドライブ - フォルダアクセス権限の部分更新 |
| DELETE /sharedrives/{sharedriveId}/files/{fileId}/permissions/{permissionId} | 共有ドライブ - フォルダアクセス権限の削除 |
| DELETE /sharedrives/{sharedriveId}/files/{fileId}/permissions | 共有ドライブ - フォルダアクセス権限の全削除 |
| POST /sharedrives/{sharedriveId}/files/{fileId}/permissions/enable | 共有ドライブ - フォルダへのアクセス権限有効化 |
| POST /sharedrives/{sharedriveId}/files/{fileId}/permissions/disable | 共有ドライブ - フォルダへのアクセス権限無効化 |
| HTTP Request | Description |
|---|---|
| POST /groups/{groupId}/folder/files/{fileId}/permissions | 組織/グループ - フォルダアクセス権限の登録 |
| GET /groups/{groupId}/folder/files/{fileId}/permissions | 組織/グループ - フォルダアクセス権限リストの取得 |
| GET /groups/{groupId}/folder/files/{fileId}/permissions/{permissionId} | 組織/グループ - フォルダアクセス権限の取得 |
| PATCH /groups/{groupId}/folder/files/{fileId}/permissions/{permissionId} | 組織/グループ - フォルダアクセス権限の部分更新 |
| DELETE /groups/{groupId}/folder/files/{fileId}/permissions/{permissionId} | 組織/グループ - フォルダアクセス権限の削除 |
| DELETE /groups/{groupId}/folder/files/{fileId}/permissions | 組織/グループ - フォルダアクセス権限の全削除 |
| POST /groups/{groupId}/folder/files/{fileId}/permissions/enable | 組織/グループ - フォルダへのアクセス権限有効化 |
| POST /groups/{groupId}/folder/files/{fileId}/permissions/disable | 組織/グループ - フォルダへのアクセス権限無効化 |
| HTTP Request | Description |
|---|---|
| POST /users/{userId}/drive/sharedfolders/{sharedFolderId}/members | 共有されたフォルダ - メンバーリストの取得 |
バージョン履歴を利用して、ファイルの修正や上書きの履歴を確認し、以前のファイルを復元したり、以前のファイルをダウンロードできます。
| HTTP Request | Description |
|---|---|
| GET /users/{userId}/drive/files/{fileId}/revisions | マイドライブ - ファイルバージョンリストの取得 |
| GET /users/{userId}/drive/files/{fileId}/revisions/{revisionId} | マイドライブ - ファイルバージョンプロパティの取得 |
| POST /users/{userId}/drive/files/{fileId}/revisions/{revisionId}/restore | マイドライブ - ファイルの復元 |
| GET /users/{userId}/drive/files/{fileId}/revisions/{revisionId}/download | マイドライブ - 指定バージョンのファイルのダウンロード |
| HTTP Request | Description |
|---|---|
| GET /sharedrives/{sharedriveId}/files/{fileId}/revisions | 共有ドライブ - ファイルバージョンリストの取得 |
| GET /sharedrives/{sharedriveId}/files/{fileId}/revisions/{revisionId} | 共有ドライブ - ファイルバージョンプロパティの取得 |
| POST /sharedrives/{sharedriveId}/files/{fileId}/revisions/{revisionId}/restore | 共有ドライブ - ファイルの復元 |
| GET /sharedrives/{sharedriveId}/files/{fileId}/revisions/{revisionId}/download | 共有ドライブ - 指定バージョンのファイルのダウンロード |
| HTTP Request | Description |
|---|---|
| GET /groups/{groupId}/folder/files/{fileId}/revisions | 組織/グループ - ファイルバージョンリストの取得 |
| GET /groups/{groupId}/folder/files/{fileId}/revisions/{revisionId} | 組織/グループ - ファイルバージョンプロパティの取得 |
| POST /groups/{groupId}/folder/files/{fileId}/revisions/{revisionId}/restore | 組織/グループ - ファイルの復元 |
| GET /groups/{groupId}/folder/files/{fileId}/revisions/{revisionId}/download | 組織/グループ - 指定バージョンのファイルのダウンロード |
| HTTP Request | Description |
|---|---|
| GET /users/{userId}/drive/sharedfolders/{sharedFolderId}/files/{fileId}/revisions | 共有されたフォルダ - ファイルバージョンリストの取得 |
| GET /users/{userId}/drive/sharedfolders/{sharedFolderId}/files/{fileId}/revisions/{revisionId} | 共有されたフォルダ - ファイルバージョンプロパティの取得 |
| POST /users/{userId}/drive/sharedfolders/{sharedFolderId}/files/{fileId}/revisions/{revisionId}/restore | 共有されたフォルダ - ファイルの復元 |
| GET /users/{userId}/drive/sharedfolders/{sharedFolderId}/files/{fileId}/revisions/{revisionId}/download | 共有されたフォルダ- 指定バージョンのファイルのダウンロード |
リンク共有により、フィアルやフォルダをリンクで共有することができます。
| HTTP Request | Description |
|---|---|
| GET /users/{userId}/drive/link-setting | マイドライブ - リンク共有設定取得 |
| GET /users/{userId}/drive/files/{fileId}/link | マイドライブ - ファイルのリンク共有取得 |
| POST /users/{userId}/drive/files/{fileId}/link | マイドライブ - リンク共有作成 |
| PATCH /users/{userId}/drive/files/{fileId}/link | マイドライブ - ファイルのリンク共有変更 |
| DELETE /users/{userId}/drive/files/{fileId}/link | マイドライブ - ファイルのリンク共有削除 |
| HTTP Request | Description |
|---|---|
| GET /sharedrives/{sharedriveId}/link-setting | 共有ドライブ - リンク共有設定取得 |
| GET /sharedrives/{sharedriveId}/files/{fileId}/link | 共有ドライブ - ファイルのリンク共有取得 |
| POST /sharedrives/{sharedriveId}/files/{fileId}/link | 共有ドライブ - リンク共有作成 |
| PATCH /sharedrives/{sharedriveId}/files/{fileId}/link | 共有ドライブ - ファイルのリンク共有変更 |
| DELETE /sharedrives/{sharedriveId}/files/{fileId}/link | 共有ドライブ - ファイルのリンク共有削除 |
| HTTP Request | Description |
|---|---|
| GET /groups/{groupId}/folder/link-setting | 組織/グループ - リンク共有設定取得 |
| GET /groups/{groupId}/folder/files/{fileId}/link | 組織/グループ - ファイルのリンク共有取得 |
| POST /groups/{groupId}/folder/files/{fileId}/link | 組織/グループ - リンク共有作成 |
| PATCH /groups/{groupId}/folder/files/{fileId}/link | 組織/グループ - ファイルのリンク共有変更 |
| DELETE /groups/{groupId}/folder/files/{fileId}/link | 組織/グループ - ファイルのリンク共有削除 |
| HTTP Request | Description |
|---|---|
| GET /users/{userId}/drive/sharedfolders/{sharedFolderId}/link-setting | 共有されたフォルダ - リンク共有設定取得 |
| GET /users/{userId}/drive/sharedfolders/{sharedFolderId}/files/{fileId}/link | 共有されたフォルダ - ファイルのリンク共有取得 |
| POST /users/{userId}/drive/sharedfolders/{sharedFolderId}/files/{fileId}/link | 共有されたフォルダ - リンク共有作成 |
| PATCH /users/{userId}/drive/sharedfolders/{sharedFolderId}/files/{fileId}/link | 共有されたフォルダ - ファイルのリンク共有変更 |
| DELETE /users/{userId}/drive/sharedfolders/{sharedFolderId}/files/{fileId}/link | 共有されたフォルダ - ファイルのリンク共有削除 |
ユーザーがファイルを削除すると、ファイルはゴミ箱に移動され、管理者が指定した保管期間を経過した後にゴミ箱から削除されます。
ゴミ箱の中のファイルの復元や削除ができます。
| HTTP Request | Description |
|---|---|
| GET /users/{userId}/drive/trash-files | マイドライブ - ゴミ箱のファイルリストの取得 |
| POST /users/{userId}/drive/trash-files/{trashFileId}/restore | マイドライブ - ゴミ箱のファイルの復元 |
| DELETE /users/{userId}/drive/trash-files/{trashFileId} | マイドライブ - ゴミ箱のファイルの削除 |
| HTTP Request | Description |
|---|---|
| GET /sharedrives/{sharedriveId}/trash-files | 共有ドライブ - ゴミ箱のファイルリストの取得 |
| POST /sharedrives/{sharedriveId}/trash-files/{trashFileId}/restore | 共有ドライブ - ゴミ箱のファイルの復元 |
| DELETE /sharedrives/{sharedriveId}/trash-files/{trashFileId} | 共有ドライブ - ゴミ箱のファイルの削除 |
| HTTP Request | Description |
|---|---|
| GET /groups/{groupId}/folder/trash-files | 組織/グループ - ゴミ箱のファイルリストの取得 |
| POST /groups/{groupId}/folder/trash-files/{trashFileId}/restore | 組織/グループ - ゴミ箱のファイルの復元 |
| DELETE /groups/{groupId}/folder/trash-files/{trashFileId} | 組織/グループ - ゴミ箱のファイルの削除 |