カスタム ファイル プロパティは、Google ドライブ ファイルのカスタム メタデータ(タグなど)、他のデータストアの ID、ワークフロー アプリケーション間で共有される情報などの保存に使用される Key-Value ペアです。たとえば、営業部門が第 1 四半期に生成したすべてのドキュメントにファイル プロパティを追加できます。
すべてのアプリに表示されるプロパティを追加するには、files
リソースの properties
フィールドを使用します。アプリに制限されるプロパティを追加するには、files
リソースの appProperties
フィールドを使用します。
プロパティは検索式でも使用できます。
これは、ドライブ ファイルのデータベース ID をファイルに保存するために使用できる一般的なプロパティの構造です。
Drive API v3
"appProperties": {
"additionalID": "ID",
}
Drive API v2
{
'key': 'additionalID',
'value': 'ID',
'visibility': 'PRIVATE'
}
カスタム ファイル プロパティの操作
このセクションでは、すべてのアプリに影響するカスタム ファイル プロパティ関連のタスクを実行する方法について説明します。
カスタム ファイルのプロパティを追加または更新する
すべてのアプリケーションに表示されるプロパティを追加または更新するには、files.update
メソッドを使用して files
リソースの properties
フィールドを設定します。
PATCH https://www.googleapis.com/drive/v3/files/FILE_ID
{ "properties": { "name": "wrench", "mass": "1.3kg", "count": "3" } }
Google Apps Script の高度なドライブ サービスを使用して、ファイルにカスタム プロパティを追加することもできます。詳細については、カスタム プロパティの追加をご覧ください。
カスタム ファイルのプロパティを取得または一覧表示する
すべてのアプリケーションに表示されるプロパティを表示するには、files.get
メソッドを使用して、ファイルのカスタム ファイル プロパティを取得します。
GET https://www.googleapis.com/drive/v3/files/FILE_ID
?fields=properties
レスポンスは、Key-Value ペアのコレクションを含む properties
オブジェクトで構成されます。
{ "properties": { "name": "wrench", "mass": "1.3kg", "count": "3" } }
カスタム ファイルのプロパティを削除する
すべてのアプリケーションに表示されるプロパティ値を削除するには、files.update
メソッドを使用して、files
リソースの properties
フィールドを null に設定します。
PATCH https://www.googleapis.com/drive/v3/files/FILE_ID
{ "name": null }
変更を表示するには、files.get
メソッドを呼び出して、ファイルの properties
オブジェクトを取得します。
{ "properties": { "mass": "1.3kg", "count": "3" } }
カスタム ファイル プロパティの制限
カスタム プロパティには次の上限があります。
- ファイルごとに最大 100 個のカスタム プロパティ(すべてのソースから合計)
- 1 ファイルあたりの公開プロパティは、すべてのソースから合計で 30 個まで。
- 1 つのアプリケーションから、1 つのファイルに最大 30 個の非公開プロパティを使用できます。
- UTF-8 エンコードで、プロパティ文字列あたり最大 124 バイト(キーと値の両方を含む)。たとえば、プロパティのキーの長さが 10 文字の場合、プロパティの値は 114 文字までです。同様に、値に 100 文字が必要なプロパティでは、鍵に最大 24 文字を使用できます。
詳細については、files
リソースをご覧ください。Drive API v2 の場合は、properties
リソースをご覧ください。
非公開のカスタム ファイル プロパティにアクセスする
appProperties
フィールドを使用してプライベート プロパティを取得できるのは、OAuth 2.0 クライアント ID で取得したアクセス トークンを使用する認証済みリクエストのみです。API キーを使用して非公開プロパティを取得することはできません。