ラベルを作成して公開する

このドキュメントでは、Google ドライブ ラベル API を使用してラベルを作成して公開する方法について説明します。

ラベルを作成する

ラベルを作成するには、labels リソースで create メソッドを使用します。ラベルには、必要に応じて 1 つ以上の Field オブジェクトを含めることができます。

また、次の指定も必要です。

  • LabelType オブジェクト。

  • Properties オブジェクトを介したラベル title。

  • useAdminAccess クエリ パラメータは、ユーザーの管理者認証情報を使用するように true に設定されています。アクセスを許可する前に、サーバーはユーザーに必要な分類ラベルの管理管理者権限があることを確認します。

次のコードサンプルは、create メソッドを使用して、指定されたタイトルと 1 つの SelectionOptions Field と 2 つの Choice オブジェクトを含む標準の管理者ラベルを作成する方法を示しています。

Python

label_body = {
    'labelType': 'ADMIN',
    'properties': {
        'title': 'TITLE'
    },
    'fields': [{
        'properties': {
            'displayName': 'DISPLAY_NAME'
        },
        'selectionOptions': {
            'listOptions': {},
            'choices': [{
                'properties': {
                    'displayName': 'CHOICE_1'
                }
            }, {
                'properties': {
                    'displayName': 'CHOICE_2'
                }
            }]
        }
    }]
}
response = service.labels().create(
    body=label_body, useAdminAccess=True).execute()

Node.js

var label = {
  'labelType': 'ADMIN',
  'properties': {
    'title': 'TITLE'
  },
  'fields': [{
    'properties': {
      'displayName': 'DISPLAY_NAME'
    },
    'selectionOptions': {
      'listOptions': {},
      'choices': [{
        'properties': {
          'displayName': 'CHOICE_1'
        }
      }, {
        'properties': {
          'displayName': 'CHOICE_2'
        }
      }]
    }
  }]
};

service.labels.create({
  requestBody: label,
  useAdminAccess: true
}, (err, res) => {
  if (err) return console.error('The API returned an error: ' + err);
  console.log(res);
});

次のように置き換えます。

  • TITLE: ラベルのタイトル。
  • DISPLAY_NAME: フィールドの表示名。
  • CHOICE_1: SelectionOptions フィールドの最初の選択肢。
  • CHOICE_2: SelectionOptions フィールドの 2 番目の選択肢。

ラベルは UNPUBLISHED_DRAFT State に作成されます。ラベルは、ユーザーに表示され、ファイルで使用されるように PUBLISHED である必要があります。詳細については、ラベルのライフサイクルをご覧ください。

ラベルの上限

ラベルの作成と適用には、次の上限が適用されます。

  • 標準ラベル: 150
  • ラベルあたりのフィールド数: 10

ラベルの項目を操作する

次の表に、ラベルに追加できるフィールドのタイプ、ユーザーがそれらを操作する方法、形式に関する考慮事項と上限を示します。

Field Type ユーザーができること 形式に関する考慮事項と制限
SelectionOptions リストからオプションを選択する(複数可) サポートされるオプションの最大数は 200 個です
1 つのファイルでの最大選択数は 10 個です(ListOptions で設定)
IntegerOptions 数値を入力する 整数のみ入力できます
DateOptions カレンダーの日付を選択する (省略可)DateFormat は [長い形式: Month DD, YYYY] または [短い形式: MM/DD/YY] に設定できます
TextOptions テキスト ボックスにテキストを入力する 入力できる最大文字数は 100 文字です
UserOptions Google Workspace の連絡先から 1 人以上のユーザーを選択します。 ファイルに対するユーザー エントリの最大数は ListOptions で構成されているとおり 10 です。

ラベルを公開する

Drive Labels API を使用すると、下書きラベルが完成したら公開できます。ラベルはユーザーに表示され、ファイルに適用できるようになります。

ラベルを公開するには、labels リソースで publish メソッドを使用し、次の項目を指定します。

  • すべてのラベルを表す labels リソース。これには、リソース name と、ラベルのグローバルに一意の識別子である id が含まれます。

  • useAdminAccess クエリ パラメータは、ユーザーの管理者認証情報を使用するように true に設定されています。アクセスを許可する前に、サーバーはユーザーに必要な分類ラベルの管理管理者権限があることを確認します。

次のコードサンプルは、ラベルの id を使用して正しいラベルを特定し、公開する方法を示しています。

Python

service.labels().publish(
    name='labels/ID',
    body={
        'useAdminAccess': True
    }
).execute()

Node.js

service.labels.publish({
  name: 'labels/ID',
  requestBody: {
    useAdminAccess: true
  }
}, (err, res) => {
  if (err) return console.error('The API returned an error: ' + err);
  console.log(res);
});

ID は、公開するラベルの ID に置き換えます。

ラベルが公開されると、ラベルは PUBLISHED State に移動し、ラベルのリビジョン ID が増分されます。ラベルはユーザーに表示され、ファイルに適用できるようになります。詳細については、ラベルのライフサイクルをご覧ください。

ラベルを公開する際の制約

ラベルを公開する準備をする際は、次の制約事項に注意してください。

  • 公開したラベルを元のドラフト状態に戻すことはできません。詳細については、ラベルのライフサイクルをご覧ください。

  • ラベルを公開すると、新しく公開されたリビジョンが作成されます。以前のすべての下書きリビジョンが削除されます。以前に公開されたリビジョンは保持されますが、必要に応じて自動削除の対象となります。

  • 公開後は、一部の変更は許可されなくなります。一般に、これは、ラベルに関連する既存のメタデータを無効にするか、新しい制限をトリガーする変更は拒否されることを意味します。たとえば、ラベルの公開後に次のラベルの変更は許可されません。

    • ラベルは直接削除されます。(まず無効にしてから削除する必要があります)。
    • Field.FieldType が変更されます。
    • Field 検証オプションの更新により、以前は受け入れられていたものが拒否されるようになりました。
    • 最大エントリ数の削減。