Mitgliedschaftsabfrage formulieren und testen
In diesem Dokument wird erläutert, wie Sie Mitgliedschaftsabfragen formulieren und testen, damit die gewünschten Nutzer zurückgegeben werden.
Hinweis
Führen Sie folgende Aufgaben aus, bevor Sie die Informationen auf dieser Seite umsetzen:
Lesen Sie die Groups API-Übersicht.
Lesen Sie die Übersicht zu dynamischen Gruppen.
Richten Sie die Google Groups API ein.
Abfragen formulieren und testen
Mitgliedschaftsabfragen haben die Form target_field condition
und sind als CEL (Common Expression Language)-Ausdrücke formatiert. Weitere Informationen finden Sie unter
Gültige Nutzerattribute für dynamische Gruppen
finden Sie die Liste der User
-Ressourcenfelder, die verwendet werden können.
Beispielabfragen
Das folgende Beispiel zeigt, wie mit der CEL-Funktion exists()
ein bestimmter Wert in einem user.addresses
-Feld geprüft wird:
user.addresses.exists(ad, ad.locality=='Sunnyvale')
Das Makro exists()
wird verwendet, um Mitgliedschaftsabfragen für Felder einer Typliste zu erstellen.
Im Folgenden sehen Sie ein Beispiel für die Prüfung mehrerer Werte, (Gebäude) area
und building_id
, in einem einzelnen Listeneintrag:
user.locations.exists(loc, loc.area=='Sunnyvale' && loc.building_id=='Building 1')
Das folgende Beispiel zeigt, wie Sie Nutzer finden, die Teil eines bestimmten Organisationseinheit:
- Alle direkten Nutzer in einer bestimmten Organisationseinheit:
user.org_unit_id==orgUnitId('03ph8a2z1enx4lx')
- Alle direkten und indirekten Nutzer in einer bestimmten Organisationseinheit:
user.org_units.exists(org_unit, org_unit.org_unit_id==orgUnitId('03ph8a2z1khexns'))
user.name.value.equalsIgnoreCase('jOhn DoE')`
Negation in Abfragen
Mit dem Operator „NICHT !
“ in Mitgliedschaftsanfragen können Sie Nutzer mit bestimmten Attributen ausschließen. Hier sind einige Beispiele:
Alle Nutzer, die keiner bestimmten Organisationseinheit angehören:
!(user.org_unit_id==orgUnitId('03ph8a2z1enx4lx'))
Für alle Nutzer, die nicht zur Organisation
Marketing
gehören, gilt Folgendes:!user.organization.exists(org, org.title = "Marketing")
Einige Kombinationen des NOT-!
-Operators und des exists()
-Makros werden nicht unterstützt:
Jede NOT
!
-Abfrage mit demexists()
-Makro und mit dem AND&&
-Operator darin:!user.organization.exists(org, (org.title == "Cloud" && org.department == "Sales"))
Bei jeder Abfrage, in der das
exists()
-Makro mit dem NOT-!
-Operator verwendet wird:user.organization.exists(org, (org.title == "Cloud" || !(org.department == "Sales")))
Mitgliedschaftsabfragen testen
Sie können Mitgliedschaftsabfragen mit dem einfachen Abfrage-Builder testen. Damit können Sie Drop-down-Menüs und Textfelder verwenden, um eine Abfrage einzugeben und zu testen. Sobald Sie sicher sind, dass die Mitgliedschaftsabfrage die gewünschten Ergebnisse zurückgibt, können Sie die entsprechenden CEL-Abfragen mit der Groups API erstellen.
Benutzerdefinierte Nutzerattribute
Benutzerdefinierte Nutzerattribute können in Abfragen für dynamische Gruppen verwendet werden, sofern das benutzerdefinierte Schema bereits in user.custom_schemas
vorhanden ist. Sie werden jedoch nicht in den Drop-down-Menüs des einfachen Abfragebuilders unterstützt. Wenn Sie eine Abfrage für ein benutzerdefiniertes Nutzerattribut testen möchten, geben Sie es in die CEL-Abfrage ein
Format direkt in das Textfeld Cel-Abfrage eingeben eingeben. Beispiel für ein benutzerdefiniertes Schema
sieht so aus:
{
"schemaName": "employmentData",
"fields": [
{
"fieldName": "EmployeeNumber",
"fieldType": "STRING",
"multiValued": "false"
},
{
"fieldName": "JobFamily",
"fieldType": "STRING",
"multiValued": "true"
}
]
}
Einzelwertiges Wert
user.custom_schemas.employmentData.EmployeeNumber == 'value'
Mehrwertiges Feld
user.custom_schemas.employmentData.JobFamily.exists(fld, fld == 'value')
Nächste Schritte
Nachdem Sie Ihre Mitgliedschaftsanfrage getestet haben, können Sie sie verwenden, wenn Sie eine Gruppe erstellen. Weitere Informationen finden Sie unter Dynamische Gruppe erstellen.