アプリケーション データ フォルダは、アプリが構成ファイルなどのアプリ固有のデータを保存するために使用できる特別な非表示フォルダです。アプリケーション データフォルダは、そのフォルダにファイルを作成しようとすると自動的に作成されます。このフォルダは、ユーザーが直接操作すべきでないファイルを保存するために使用します。このフォルダにはアプリからのみアクセスでき、その内容はユーザーと他の Google ドライブ アプリから非表示になります。
ユーザーがマイドライブからアプリをアンインストールすると、アプリデータ フォルダは削除されます。ユーザーはアプリのデータフォルダを手動で削除することもできます。
アプリデータ フォルダのスコープ
アプリデータ フォルダにアクセスするには、機密性のない https://www.googleapis.com/auth/drive.appdata
スコープへのアクセスをリクエストする必要があります。スコープとアクセス権のリクエスト方法について詳しくは、Google Drive API のスコープを選択するをご覧ください。特定の OAuth 2.0 スコープの詳細については、Google API の OAuth 2.0 スコープをご覧ください。
アプリデータ フォルダとドライブのバックアップ フォルダの違い
アプリケーション データ フォルダは、ドライブのバックアップ フォルダとは別です。
アプリケーション データ フォルダは、サードパーティ製アプリごとに作成される構成フォルダで、各サードパーティ製アプリがデータを保存できます。appDataFolder
内のデータにアクセスできるのは、そのデータを作成したアプリのみです。ドライブのユーザー インターフェース(UI)を使用してフォルダにアクセスすることはできません。
ドライブのバックアップ フォルダは、ドライブがデバイスのバックアップを書き込む予約済みフォルダで、ドライブの UI に表示されます。
アプリデータ フォルダの制約
アプリケーション データ フォルダを操作する場合は、次の制約が適用されます。
アプリケーション データ フォルダ内のファイルやフォルダを共有することはできません。これを試みると、
notSupportedForAppDataFolderFiles
エラーが発生し、「Application Data フォルダ内のファイルにはメソッドがサポートされていません」というエラー メッセージが表示されます。appDataFolder
内のファイルをストレージ ロケーション(スペース)間で移動することはできません。このような操作を行うと、notSupportedForAppDataFolderFiles
エラーが発生し、「Application Data フォルダ内のファイルに対してメソッドがサポートされていません」というエラー メッセージが表示されます。詳細については、ファイルの編成をご覧ください。アプリデータ フォルダ内のファイルやフォルダをゴミ箱に移動することはできません。削除しようとすると、
notSupportedForAppDataFolderFiles
エラーが発生し、「Application Data フォルダ内のファイルをゴミ箱に移動できません」というエラー メッセージが表示されます。
アプリケーション データ フォルダにファイルを作成する
アプリデータ フォルダにファイルを作成するには、ファイルの parents
プロパティに appDataFolder
を指定し、files.create
メソッドを使用してフォルダにファイルを作成します。
次のコードサンプルは、クライアント ライブラリと curl コマンドを使用してフォルダにファイルを挿入する方法を示しています。
Java
Python
Node.js
PHP
.NET
curl
Request からのメールのデータを読み取ります。
curl --request POST \
'https://content.googleapis.com/drive/v3/files' \
-H 'authorization: Bearer ACCESS_TOKEN' \
-H 'content-type: application/json' \
-H 'x-origin: https://explorer.apis.google.com' \
--data-raw '{"name": "config.json", "parents":["appDataFolder"]}'
ACCESS_TOKEN は、アプリの OAuth 2.0 トークンに置き換えます。
回答:
{
"kind": "drive#file",
"id": FILE_ID,
"name": "config.json",
"mimeType": "application/json"
}
フォルダにファイルを作成する方法については、フォルダを作成しデータを入力するをご覧ください。
アプリケーション データ フォルダ内のファイルを検索する
アプリデータ フォルダ内のファイルを検索するには、spaces
フィールドを appDataFolder
に設定し、files.list
メソッドを使用します。
次のコードサンプルは、クライアント ライブラリと curl コマンドを使用して、アプリケーション データ フォルダ内のファイルを検索する方法を示しています。
Java
Python
Node.js
PHP
.NET
curl
Request からのメールのデータを読み取ります。
curl \
-X GET \
-H "Authorization: Bearer ACCESS_TOKEN" \
"https://www.googleapis.com/drive/v3/files?spaces=appDataFolder&fields=files(id,name,mimeType,size,modifiedTime)"
ACCESS_TOKEN は、アプリの OAuth 2.0 トークンに置き換えます。
回答:
{
"files": [
{
"mimeType": "application/json",
"size": "256",
"id": FILE_ID,
"name": "config.json",
"modifiedTime": "2025-04-03T23:40:05.860Z"
},
{
"mimeType": "text/plain",
"size": "128",
"id": FILE_ID,
"name": "user_settings.txt",
"modifiedTime": "2025-04-02T17:52:29.020Z"
}
]
}
アプリケーション データ フォルダからファイルをダウンロードする
アプリデータ フォルダからファイルをダウンロードするには、alt=media
URL パラメータを指定して files.get
メソッドを使用し、レスポンス本文でファイルの内容を取得します。詳細とコードサンプルについては、Blob ファイルの内容をダウンロードするをご覧ください。
次のコードサンプルは、curl コマンドを使用してアプリケーション データ フォルダ内のファイルをダウンロードする方法を示しています。レスポンス本文は、保存された内容によって異なります。
curl
Request からのメールのデータを読み取ります。
curl \
-X GET \
-H "Authorization: Bearer ACCESS_TOKEN" \
"https://www.googleapis.com/drive/v3/files/FILE_ID?alt=media"
次のように置き換えます。
- ACCESS_TOKEN: アプリの OAuth 2.0 トークン。
- FILE_ID: ダウンロードするファイルの ID。