このページでは、ラベルを作成して公開する方法について説明します。
ラベルを作成する
ラベルを作成するには、labels
コレクションに対して create
メソッドを使用します。ラベルには必要に応じて 1 つ以上の Fields
を含めることができます。
次の項目も指定する必要があります。
property
メソッドによるラベルtitle
。ユーザーの管理者認証情報を使用する場合、
useAdminAccess
はtrue
です。サーバーは、アクセスを許可する前に、ユーザーが「ラベルの管理」権限を持つ管理者であることを確認します。
この例では、指定されたタイトルを持つ標準管理者ラベルと、2 つの Choices
を含む 1 つの SelectionOptions
Field
を作成します。
Python
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()
Node.js
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 |
リストから 1 つ以上のオプションを選択してください | サポートされるオプションの最大数は 200 個です 1 つのファイルで選択できるオプションの最大数は 10 個です( ListOptions で構成されている場合) |
IntegerOptions |
数値を入力してください | 整数のみがサポートされています |
DateOptions |
カレンダーの日付を選択 | (省略可)Date format には、「Long: Month DD, YYYY」または「Short: MM/DD/YY」を指定できます。 |
TextOptions |
テキスト ボックスにテキストを入力する | サポートされる最大文字数は 100 です |
UserOptions |
Google Workspace の連絡先からユーザーを 1 人以上選択します。 | ファイルのユーザー エントリの最大数は 10(ListOptions で設定されている)です |
ラベルを公開する
Labels API を使用すると、下書きラベルを完了したら公開できます。
ラベルを公開するには、publish
メソッドを使用して、以下を指定します。
すべてのラベルを表すラベルリソース。これには、リソース
Name
とID
(ラベルのグローバルに一意の識別子)が含まれます。ユーザーの管理者認証情報を使用する場合、
useAdminAccess
はtrue
です。サーバーは、アクセスを許可する前に、ユーザーが「ラベルの管理」権限を持つ管理者であることを確認します。
この例では、ID
を使用して、正しいラベルを識別して公開しています。
Python
service.labels().publish(
name='labels/ID',
body={
'use_admin_access': True
}).execute()
Node.js
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
が変更された。- フィールド検証オプションを更新すると、以前に受け入れた項目が拒否されます。
- 最大エントリ数の削減。