【问题标题】:Query Google Admin User directory comparing parameters查询谷歌管理员用户目录比较参数
【发布时间】:2019-10-05 08:26:05
【问题描述】:

我正在尝试通过比较两个参数来过滤我的用户列表

query="EmployeeData.EmployeeID=externalId"

EmployeeData.EmployeeID 是一个已填充的自定义架构,其中包含一个 cron 作业,其值与 externalId 相同。

当然,我只在必要时让 cron 进行字段复制,这就是我尝试过滤用户列表的原因。

按照我写的方式,查询试图在 EmployeeData.EmployeeID 中查找值“externalId”而忽略了“externalId”是一个偶数字段

有什么建议吗?

【问题讨论】:

  • Ryuk Ryuk:你想从哪里运行查询?它来自 Google Apps 脚本吗?
  • 在这种情况下,是的,我尝试从 Google Apps 脚本执行此操作,但正如我从 Google 了解的那样,现在 Admin SDK 已完全复制到 Google Apps 脚本中,没有任何限制。因此,我认为该字段可以同时用于 Google Apps Script 和 GCF(例如)。

标签: google-apps-script google-api google-admin-sdk google-query-language


【解决方案1】:

按照您的代码编写方式,发送到 Google 服务器的查询与您正确猜到的一样: EmployeeData.EmployeeID=externalId 不会发送您的实际 externalId,而是发送字符串“externalId”。

要将此字符串替换为变量的实际值,您可以使用所谓的“字符串连接”1。为此,您只需要修改您的代码,如下所示:

query="EmployeeData.EmployeeID=" + externalId;

这样,查询将根据您的需要发送到 Google 的服务器。

【讨论】:

  • 感谢您的宝贵时间。如果您正在寻找一个特定的人,我认为这可能会起作用。我错了吗?我正在寻找的是可以用作 SQL 中的“where”条件的查询。可以将其视为“提取所有在 EmployeeID 和 externalID 之间不匹配的用户”。
  • @RyukRyuk 感谢您提供更多信息,我想我现在明白您的问题了。请问,'externalId'是什么属性?它也是自定义属性吗?在此处查看用户的内部定义方式以供参考:developers.google.com/admin-sdk/directory/v1/reference/…
  • 很抱歉回复晚了,我丢失了通知。是的,这是一个标准属性(externalIds)
猜你喜欢
  • 2017-10-25
  • 2014-08-13
  • 1970-01-01
  • 2012-03-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-01
  • 2013-04-29
相关资源
最近更新 更多