カスタム ファイル プロパティは、Google ドライブ ファイルのカスタム メタデータ(タグなど)、他のデータストアの ID、ワークフロー アプリケーション間で共有される情報などを保存する Key-Value ペアです。たとえば、第 1 四半期に営業部門で生成されたすべてのドキュメントにファイル プロパティを追加できます。
すべてのアプリケーションに表示されるプロパティを追加するには、files
リソースの properties
フィールドを使用します。アプリに制限されたプロパティを追加するには、files
リソースの appProperties
フィールドを使用します。
プロパティは検索式でも使用できます。
これは、ドライブ ファイルのデータベース ID をファイルに保存するために使用される一般的なプロパティの構造です。
Drive API バージョン 3
"appProperties": {
"additionalID": "ID",
}
Drive API バージョン 2
{
'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 個のカスタム プロパティ。
- すべてのソースから合計した、ファイルあたり最大 30 個の公開プロパティ。
- 1 つのアプリケーションからファイルごとに最大 30 個の非公開プロパティを作成できます。
- UTF-8 エンコードのプロパティ文字列(キーと値の両方を含む)あたり最大 124 バイト。たとえば、キーの長さが 10 文字の場合、プロパティ値は 114 文字まで使用できます。同様に、値に 100 文字が必要なプロパティの場合、キーに最大 24 文字を使用できます。
詳細については、files
リソースをご覧ください。Drive API v2 については、properties
リソースをご覧ください。
プライベート カスタム ファイル プロパティにアクセスする
プライベート プロパティは、OAuth 2.0 クライアント ID で取得したアクセス トークンを使用する認証済みリクエストを介してのみ、appProperties
フィールドを使用して取得できます。API キーを使用して非公開プロパティを取得することはできません。