【问题标题】:Google Directory API Search users by custom field not set未设置按自定义字段的 Google Directory API 搜索用户
【发布时间】:2015-09-25 13:55:38
【问题描述】:

根据 Google Directory API,您可以为用户创建自定义字段,然后通过这些字段搜索用户。

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

您可以搜索与某些属性匹配的用户 目录 API 的 users.list 方法。此方法接受查询 参数,它是一个组合一个或多个搜索的搜索查询 条款。每个搜索子句由三部分组成:

字段
被搜索的用户属性。例如,给定名称。风俗 字段可以通过 schemaName.fieldName 进行搜索。
Operator
测试是 对数据执行以提供匹配。例如, : 运算符 测试文本属性是否包含值。

的内容 被测试的属性。例如,简。

搜索布尔值似乎只显示已明确设置为真或假的用户。是否可以搜索没有设置值的用户或搜索所有非真或非假的值?

好像变了。当我使用

在 Google APIs Explorer 上搜索时

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

它返回大约 70 个结果,但使用

获取 https://www.googleapis.com/admin/directory/v1/users?customer=my_customer&projection=full&query=userData.enabled%3Dfalse&key={YOUR_API_KEY} 返回 1 个结果和

获取 https://www.googleapis.com/admin/directory/v1/users?customer=my_customer&projection=full&query=userData.enabled%3Dtrue&key={YOUR_API_KEY} 不返回任何结果。

我有大约一打设置为真,其余设置为假。只有少数几个我没有明确设置为 true 或 false。

【问题讨论】:

  • 对于接受布尔值的字段,它必须为真或假。您不能将这些字段留空。检查此信息: boolean 必须具有 true 或 false 值。仅支持上面链接中的 = 运算符
  • 当我进行搜索时,如果我搜索所有我得到的东西比我搜索显式 =true 和或显式 =false 多得多。

标签: google-apps google-admin-sdk google-directory-api


【解决方案1】:

您似乎无法搜索未明确设置的值。唯一的选择是提取设置值并找出设置值和未设置值之间的差异。例如使用 php array_udiff 或遍历所有用户并比较值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多