このページでは、ラベルを作成して公開する方法について説明します。
ラベルを作成する
ラベルを作成するには、labels
コレクションで create
メソッドを使用します。ラベルには、必要に応じて 1 つ以上の Fields
を含めることができます。
また、以下も指定する必要があります。
property
メソッドを介したラベルtitle
。useAdminAccess
は、ユーザーの管理者認証情報を使用する場合はtrue
です。サーバーは、アクセスを許可する前に、ユーザーが「ラベルの管理」権限を持つ管理者であることを確認します。
この例では、指定したタイトルと 1 つの SelectionOptions
Field
(2 つの Choices
を含む)を持つ標準の管理ラベルを作成します。
label_body = {
'label_type': 'ADMIN',
'properties': {
'title': 'TITLE '
},
'fields': [{
'properties': {
'display_name': 'DISPLAY_NAME '
},
'selection_options': {
'list_options': {},
'choices': [{
'properties': {
'display_name': 'CHOICE_1 '
}
}, {
'properties': {
'display_name': 'CHOICE_2 '
}
}]
}
}]
}
response = service.labels().create(
body=label_body, useAdminAccess=True).execute()
var label = {
'label_type': 'ADMIN',
'properties': {
'title': 'TITLE '
},
'fields': [{
'properties': {
'display_name': 'DISPLAY_NAME '
},
'selection_options': {
'list_options': {},
'choices': [{
'properties': {
'display_name': 'CHOICE_1 '
}
}, {
'properties': {
'display_name': 'CHOICE_2 '
}
}]
}
}]
};
service.labels.create({
'resource': label,
'use_admin_access': true
}, (err, res) => {
if (err) return console.error('The API returned an error: ' + err);
console.log(res);
});
ラベルは UNPUBLISHED_DRAFT
State
に作成されます。ファイルで使用し、ユーザーに表示するには、PUBLISHED
にする必要があります。詳細については、ラベルのライフサイクルをご覧ください。
ラベルの上限
ラベルの作成と適用には、次の上限が適用されます。
- 標準ラベル - 150
- ラベルあたりのフィールド数 - 10
- ファイルあたりのユーザーが適用したラベル - 5
ラベルの項目を操作する
Field Type |
ユーザーができること | 形式に関する考慮事項と制限 |
---|---|---|
SelectionOptions |
リストからオプションを選択する(複数可) | サポートされるオプションの最大数は 200 個です ファイルの最大選択数は、 ListOptions で構成されている 10 個です |
IntegerOptions |
数値を入力する | 整数のみ入力できます |
DateOptions |
カレンダーの日付を選択する | (省略可)Date format は、[長い形式: YYYY 年 MM 月 DD 日] または [短い形式: MM/DD/YY] に設定できます。 |
TextOptions |
テキスト ボックスにテキストを入力する | 入力できる最大文字数は 100 文字です |
UserOptions |
Google Workspace の連絡先から 1 人以上のユーザーを選択します。 | ファイルのユーザー エントリの最大数は、ListOptions で構成されているように 10 です。 |
ラベルを公開する
Labels API を使用すると、ドラフトラベルの作成が完了したら公開できます。
ラベルを公開するには、publish
メソッドを使用して、次のことを指定します。
すべてのラベルを表すラベルリソース。リソース
Name
とID
が含まれます。これは、ラベルのグローバルに一意の識別子です。useAdminAccess
は、ユーザーの管理者認証情報を使用する場合はtrue
です。サーバーは、アクセスを許可する前に、ユーザーが「ラベルの管理」権限を持つ管理者であることを確認します。
この例では、ID
を使用して正しいラベルを識別して公開します。
service.labels().publish(
name='labels/ID ',
body={
'use_admin_access': True
}).execute()
service.labels.publish({
'resource': {
'use_admin_access': true
},
'name': 'labels/ID '
}, (err, res) => {
if (err) return console.error('The API returned an error: ' + err);
console.log(res);
});
ラベルが公開されると、ラベルは PUBLISHED
State
に移動し、ラベルのリビジョン ID が増分されます。ラベルはユーザーに表示され、ファイルに適用できるようになります。詳細については、ラベルのライフサイクルをご覧ください。
ラベルを公開する際の制約
ラベルを公開すると、元の下書き状態に戻すことはできません。詳細については、ラベルのライフサイクルをご覧ください。
ラベルを公開すると、新しく公開されたリビジョンが作成されます。以前の下書きのすべてのリビジョンは削除されます。以前に公開されたリビジョンは保持されますが、必要に応じて自動的に削除される場合があります。
公開後は、一部の変更ができなくなります。通常、これは、ラベルに関連する既存のメタデータを無効にする変更や、新しい制限をトリガーする変更は拒否されることを意味します。たとえば、ラベルを公開した後に、ラベルに対して次の変更を行うことはできません。
- ラベルは直接削除されます。(まず無効にしてから削除する必要があります)。
Field.FieldType
が変更されています。- フィールド検証オプションの更新により、以前は許可されていたものが拒否されるようになりました。
- 最大エントリ数の削減。