Mit der Google Drive Labels API können Sie ein einzelnes Label aktualisieren, indem Sie eine Reihe von Aktualisierungsanfragen anwenden, die zu einer neuen Entwurfsversion führen. Sie können beispielsweise ein vorhandenes Label
Properties (die
grundlegende Labelbeschreibung) aktualisieren oder dem Label ein neues
Field hinzufügen.
Die Labelaktualisierung fungiert als Batchaktualisierung, da die Methode eine Liste von Aktualisierungs
Request
Objekten verwendet. Die Aktualisierungen werden in derselben Reihenfolge vorgenommen, die in der Batchanfrage angegeben ist. Die Aktualisierungen im Batch-Update werden atomar angewendet. Wenn eine Anfrage im Batch fehlschlägt, schlägt die gesamte Aktualisierung fehl und keine der (potenziell abhängigen) Änderungen wird angewendet. Das Label bleibt unverändert.
Wenn die Aktualisierung erfolgreich ist, muss die resultierende Entwurfsversion veröffentlicht werden, bevor die Änderungen mit einem Google Drive-Element verwendet werden können.
Labelobjekte aktualisieren
Ein Label enthält viele andere Objekttypen, die aktualisiert werden können, z. B.:
- Label
Properties Field-Objekte und Feldtypen- Auswahl
Choiceund AuswahlProperties
Dies sind einige der vielen Objekte, die das Erscheinungsbild und die Funktionsweise eines Labels steuern.
Vorgangskategorien
Die folgenden Vorgänge, die von der
delta Methode für die
labels Ressource unterstützt werden, können
in die folgenden allgemeinen Kategorien gruppiert werden:
| Kategorie | Beschreibung |
|---|---|
| Erstellen | Objekte hinzufügen. |
| Aktualisieren | Bestimmte Attribute eines Objekts aktualisieren. |
| Aktivieren | Objekte aktivieren. |
| Deaktivieren | Objekte deaktivieren. |
| Löschen | Objekte entfernen. |
Diese Kategorien werden im nächsten Abschnitt verwendet, um das Verhalten bestimmter Vorgänge zu beschreiben.
Aktualisierungs-Anfragen
Die Methode delta verwendet ein oder mehrere
Anfrage
objekte, die jeweils einen einzelnen Anfragetyp angeben. Es gibt viele verschiedene Arten von Anfragen. Hier finden Sie eine Aufschlüsselung der Anfragetypen, gruppiert in verschiedene Kategorien.
| Anfrageobjekt | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Labelattribute |
|
||||||||||
| Feld |
|
||||||||||
| Auswahl |
|
||||||||||
Feldmasken
Für viele Anfragen vom Typ "Aktualisieren" und "Deaktivieren" ist eine
FieldMask erforderlich.
Dies ist eine durch Kommas getrennte Liste von Feldern, die Sie aktualisieren möchten, während die anderen Felder unverändert bleiben. Die Maske ist erforderlich, damit nur die Felder aktualisiert werden, die Sie bearbeiten möchten. Sie müssen mindestens ein Feld angeben.
Beispiel
Verwenden Sie die
delta Methode für die
labels Ressource, um ein Label zu aktualisieren.
Außerdem müssen Sie Folgendes angeben:
Der
useAdminAccessAbfrageparameter ist auftruegesetzt, um die Administrator anmeldedaten des Nutzers zu verwenden. Bevor der Zugriff gewährt wird, prüft der Server, ob der Nutzer die erforderlichen Administratorberechtigungen zum Verwalten von Klassifikations labels hat.Eine
Requestdie die entsprechenden Aktualisierungen für das Label angibt.Ein Label
titleüber dasPropertiesObjekt.Ein oder mehrere
FieldObjekte.Eine
labelsRessource, die das Label darstellt. Sie enthält einennameund eineid, die eine weltweit eindeutige Kennung für das Label ist.Ein
LabelViewObjekt alsLABEL_VIEW_FULL, um eine Ressourcenansicht festzulegen, die auf Label Antworten angewendet wird.LABEL_VIEW_FULLgibt alle möglichen Felder zurück.
Das folgende Codebeispiel zeigt, wie Sie die id des Labels verwenden, um das richtige Label zu aktualisieren:
Python
body = {
'useAdminAccess': True,
'requests': [
{
'updateLabel': {
'properties': {
'title': 'TITLE'
},
'updateMask': 'title'
}
},
{
'createField': {
'field': {
'properties': {
'displayName': 'DISPLAY_NAME'
},
'textOptions': {}
}
}
}
],
'view': 'LABEL_VIEW_FULL'
}
response = service.labels().delta(
body=body,
name='labels/ID'
).execute()
Node.js
var body = {
'useAdminAccess': true,
'requests': [
{
'updateLabel': {
'properties': {
'title': 'TITLE'
},
'updateMask': 'title'
}
},
{
'createField': {
'field': {
'properties': {
'displayName': 'DISPLAY_NAME'
},
'textOptions': {}
}
}
}
],
'view': 'LABEL_VIEW_FULL'
};
service.labels.delta({
name: 'labels/ID',
requestBody: body
}, (err, res) => {
if (err) return console.error('The API returned an error: ' + err);
console.log(res);
});
Ersetzen Sie Folgendes:
- TITLE: Der Titel des Labels.
- DISPLAY_NAME: Der Anzeigename des Felds.
- ID: Die ID des Labels.
Das Label, das Feld oder die Auswahl wird aktualisiert, die Revisions-ID des Labels wird erhöht und das Label wird als Entwurf in einer Datenbank gespeichert. Das Label hat den
State von PUBLISHED
und
hasUnpublishedChanges
ist auf true gesetzt. Das bedeutet, dass es Entwurfsänderungen gibt, die aber für
Nutzer nicht verfügbar sind. Das aktualisierte Label muss PUBLISHED sein, bevor die Änderungen für Nutzer sichtbar werden. Weitere Informationen finden Sie unter Label
Lebenszyklus.