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. Eine Liste der verwendbaren User
-Ressourcenfelder finden Sie unter Gültige Nutzerattribute für dynamische Gruppen.
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 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
Sie können den NOT-Operator !
in Mitgliedschaftsabfragen verwenden, um Nutzer auszuschließen mit
bestimmte Attribute. Hier sind einige Beispiele:
Für alle Nutzer, die nicht einer bestimmten Organisationseinheit angehören:
!(user.org_unit_id==orgUnitId('03ph8a2z1enx4lx'))
Alle Nutzer, die nicht zur Organisation
Marketing
gehören:!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"))
Alle Abfragen, die das Makro
exists()
mit dem Operator „NICHT!
“ enthalten: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 sie im CEL-Abfrageformat direkt in das Textfeld CEL-Abfrage eingeben ein. Ein 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.