查询 Google 管理目录用户以进行部分名称匹配
Query Google Admin Directory users for partial name match
我正在尝试做两件事:
- 通过
name
字段查询 AdminDirectory.Users.list
到 return 姓名与给定字符串匹配(甚至部分匹配)的任何人的列表
- 如果可能,防止电子邮件地址字段被包含在搜索中
例如,"donald" 应该 return 用户 Donald Duck、Donald Trump 和 Ronald McDonald 的数据。如果有人搜索 "onald",那应该也可以。
以下作品。在 "donald" 场景中,它将 return 只有唐老鸭的数据。出于某种原因,它不会 return 超过一个用户。
function processForm(formObject) { // formObject comes from form on front end
var textSearchObject = formObject.textSearch; // "donald"
var userList = AdminDirectory.Users.list({
domain: 'somedomain.com',
query: "name:'" + textSearchObject + "'",
viewType: 'domain_public',
projection: 'full'
}).users;
return userList;
}
我知道,query: "name:'" + textSearchObject + "'"
看起来很奇怪,大多数人只会使用 query: textSearchObject
。问题是这会搜索电子邮件地址 - 我需要尽可能避免这种情况。
您仅限于 "starts with" 搜索,例如Donald*
但您可以只搜索 givenName
、familyName
或组合名称 (fullName
)。完整文档在这里:https://developers.google.com/admin-sdk/directory/v1/guides/search-users
我正在尝试做两件事:
- 通过
name
字段查询AdminDirectory.Users.list
到 return 姓名与给定字符串匹配(甚至部分匹配)的任何人的列表 - 如果可能,防止电子邮件地址字段被包含在搜索中
例如,"donald" 应该 return 用户 Donald Duck、Donald Trump 和 Ronald McDonald 的数据。如果有人搜索 "onald",那应该也可以。
以下作品。在 "donald" 场景中,它将 return 只有唐老鸭的数据。出于某种原因,它不会 return 超过一个用户。
function processForm(formObject) { // formObject comes from form on front end
var textSearchObject = formObject.textSearch; // "donald"
var userList = AdminDirectory.Users.list({
domain: 'somedomain.com',
query: "name:'" + textSearchObject + "'",
viewType: 'domain_public',
projection: 'full'
}).users;
return userList;
}
我知道,query: "name:'" + textSearchObject + "'"
看起来很奇怪,大多数人只会使用 query: textSearchObject
。问题是这会搜索电子邮件地址 - 我需要尽可能避免这种情况。
您仅限于 "starts with" 搜索,例如Donald*
但您可以只搜索 givenName
、familyName
或组合名称 (fullName
)。完整文档在这里:https://developers.google.com/admin-sdk/directory/v1/guides/search-users