1
votes

According to the Google Directory API you can create custom fields for users and then search users by those fields.

https://developers.google.com/admin-sdk/directory/v1/guides/search-users

You can search for users matching certain attributes with the users.list method of the Directory API. This method accepts the query parameter which is a search query combining one or more search clauses. Each search clause is made up of three parts:

Field
User attribute that is searched. For example, givenName. Custom fields can be searched by schemaName.fieldName.
Operator
Test that is performed on the data to provide a match. For example, the : operator tests if a text attribute contains a value.
Value
The content of the attribute that is tested. For example, Jane.

Searching for a boolean value appears to only show users that have been explicitly set true or false. Is it possible to search for users that do not have a set value or search for all values not true or not false?

It appears to have changed. When I search on Google APIs Explorer using

GET https:// www.googleapis.com/admin/directory/v1/users?customer=my_customer&projection=full&key={YOUR_API_KEY}

It returns about 70 results but using

GET https:// www.googleapis.com/admin/directory/v1/users?customer=my_customer&projection=full&query=userData.enabled%3Dfalse&key={YOUR_API_KEY} returns 1 result and

GET https:// www.googleapis.com/admin/directory/v1/users?customer=my_customer&projection=full&query=userData.enabled%3Dtrue&key={YOUR_API_KEY} returns no results.

I have about a dozen set to true and the rest set to false. There are only a few that I have not explicitly set to true or false.

1
For the fields, which accept boolean values, it must have either true or false. You cannot have these fields empty. check this info: boolean Must have a value of true or false. Only supports the = operator which is there in the above link - SGC
It appears when I do a search if I search for all I get many more than if I search for explicitly =true and or explicitly =false. - Taylor Jones

1 Answers

0
votes

It appears that you cannot search for values that aren't set explicitly. The only option is to pull the set values and find the difference between the ones that are set and the ones that aren't. For example using php array_udiff or by iterating through all the users and comparing the values.