You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Workspace用户查询中{PREFIX}*通配符行为不符文档定义咨询

解决Google Admin SDK用户查询返回不符合预期结果的问题

我一眼就看出问题出在哪啦!你用的givenName:Mark*查询,在Google Admin SDK的语法里,是匹配givenName字段里任意一个词以Mark开头的用户,而不是整个givenName字段以Mark开头。所以像Edward Mark这种用户,如果他的givenName字段里包含"Mark"这个词(比如有些用户的givenName被填成了全名),就会被这个查询命中,哪怕Mark不是名字的开头。

要实现你真正想要的「givenName字段本身以Mark开头」的前缀匹配,只需要把查询词用双引号括起来就行,修改后的代码如下:

Users result = service.users().list()
    .setCustomer("my_customer")
    .setQuery("givenName:\"Mark*\"") // 这里给查询词加上双引号
    .setOrderBy("givenName")
    .setMaxResults(10)
    .execute();

带引号的"Mark*"会告诉查询引擎:只匹配整个givenName字段前缀是Mark的用户,比如Mark、Markus、Mark Anthony这类,再也不会返回那些名字里包含Mark但不是开头的用户啦。

你可以顺便检查下那些被错误返回的用户的givenName字段,大概率是他们的givenName被设置成了包含Mark的多词内容(比如全名),这也是不带引号的查询会命中他们的原因。

内容的提问来源于stack exchange,提问作者Mark Pukias

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:50:02