Google Admin SDK Directory 用户搜索中如何转义带短横线的Schema名
含短横线的自定义Schema字段查询正确方法
Google Admin SDK 目录服务的用户搜索查询语法,对包含特殊字符(短横线、空格、非字母数字字符)的自定义Schema名有专门的识别规则,和无特殊字符的常规Schema查询存在格式差异。
标准查询格式对比
- 无特殊字符的普通Schema查询(例:EmploymentData Schema下的projects字段):
EmploymentData.projects:'blah' - 名称含短横线的Schema查询(例:my-schema Schema下的fieldName字段):
核心规则:将完整的Schema名称用单引号包裹,后接英文句点、字段名、匹配值条件,完整格式为:'my-schema'.fieldName:'blah'
常见踩坑说明
- 不要使用双引号包裹Schema名:此前尝试的
"my-schema".fieldName格式不被API识别,因为查询语法中对特殊字符标识符的包裹要求统一使用单引号,和值匹配的引号规则保持一致 - 不要将Schema名和字段名整体包裹:比如
'my-schema.fieldName'的写法会让API将整段字符串识别为单个Schema名,无法定位到下级字段 - TypeScript代码编写注意:因为查询字符串内部本身包含单引号,在TS代码中赋值时,可以直接用模板字符串或者双引号包裹整个query值,不需要对内部单引号做额外转义,示例写法:
// 模板字符串写法 const searchQuery = `'my-schema'.fieldName:'blah'`; // 普通双引号字符串写法 const searchQuery2 = "'my-schema'.fieldName:'blah'";
注意:该格式要求是API查询语法层的规则,和googleapis等SDK的字符串类型参数无关,只要传入的query字符串格式符合上述要求,即可正常识别带短横线的Schema字段。
内容的提问来源于stack exchange,提问作者glebsts
相关产品推荐
相关产品推荐

