ค้นหาผู้ใช้

คุณจะค้นหาผู้ใช้ที่ตรงกับแอตทริบิวต์บางอย่างได้โดยใช้เมธอด users.list() ของ Directory API เมธอดนี้จะยอมรับพารามิเตอร์ query ซึ่งเป็นคำค้นหาที่รวมวลีการค้นหาอย่างน้อย 1 รายการ แต่ละวลีการค้นหาประกอบด้วย 3 ส่วนดังนี้

ฟิลด์
แอตทริบิวต์ผู้ใช้ที่ค้นหา เช่น givenName
ผู้ประกอบธุรกิจ
ทดสอบซึ่งดำเนินการกับข้อมูลเพื่อให้ได้ผลลัพธ์ที่ตรงกัน เช่น โอเปอเรเตอร์ : จะทดสอบว่าแอตทริบิวต์ข้อความมีค่าหรือไม่
ค่า
เนื้อหาของแอตทริบิวต์ที่ทดสอบ เช่น Jane

หากต้องการค้นหาช่องหลายช่องในการค้นหาเดียว ให้เพิ่มวลีการค้นหาแต่ละรายการโดยคั่นด้วยเว้นวรรค การดำเนินการเป็น AND โดยนัย

ช่อง

ฟิลด์ ประเภทค่า โอเปอเรเตอร์ คำอธิบาย
ไม่ได้ระบุไว้ string เปรียบเทียบกับค่าใน givenName, familyName หรือ email
name string =, : ค่าต่อกันของ givenName และ familyName
email string =, : และ :{PREFIX}* อีเมลของผู้ใช้ รวมถึงอีเมลแทน
givenName string =, : และ :{PREFIX}* ชื่อหรือชื่อของผู้ใช้
familyName string =, : และ :{PREFIX}* นามสกุลหรือนามสกุลของผู้ใช้
isAdmin boolean = ดูว่าผู้ใช้มีสิทธิ์ของผู้ดูแลระบบขั้นสูงหรือไม่
isDelegatedAdmin boolean = ดูว่าผู้ใช้มอบสิทธิ์ของผู้ดูแลระบบหรือไม่
isSuspended boolean = บัญชีของผู้ใช้ถูกระงับหรือไม่
isArchived boolean = มีการเก็บบัญชีของผู้ใช้หรือไม่
im string =, : ID เครือข่าย IM
externalId string =, : ค่ารหัสภายนอก
manager string = อีเมลของผู้จัดการของผู้ใช้โดยตรงหรือของสายการจัดการ
managerId string = รหัสของผู้จัดการของผู้ใช้โดยตรงหรือของสายการจัดการ
directManager string = อีเมลของผู้จัดการโดยตรงของผู้ใช้
directManagerId string = รหัสผู้จัดการโดยตรงของผู้ใช้
address string : จับคู่ช่องที่อยู่ทั้งหมด
addressPoBox string =, : ตู้ไปรษณีย์
addressExtended string =, : ที่อยู่เพิ่มเติม เช่น ที่อยู่ที่มีภูมิภาคย่อย
addressStreet string =, : ที่อยู่
addressLocality string =, : เมืองของที่อยู่
addressRegion string =, : จังหวัดหรือรัฐแบบย่อ
addressPostalCode string =, : รหัสไปรษณีย์
addressCountry string =, : ประเทศ
orgName string =, : ชื่อองค์กร
orgTitle string =, : ชื่อของผู้ใช้ภายในองค์กร
orgDepartment string =, : แผนกภายในองค์กร
orgDescription string =, : คำอธิบายขององค์กร
orgCostCenter string =, : ศูนย์ต้นทุนขององค์กร
phone string = หมายเลขโทรศัพท์ของผู้ใช้
orgUnitPath string = เส้นทางแบบเต็มของหน่วยขององค์กร ซึ่งจะจับคู่เชนหน่วยขององค์กรทั้งหมดภายใต้เป้าหมาย เช่น 'orgUnitPath=/' จะแสดงผลผู้ใช้ทุกคนในองค์กร ช่องนี้จะใช้ได้เมื่อ viewType=admin_view เท่านั้น
isEnrolledIn2Sv boolean = ดูว่าผู้ใช้ลงทะเบียนในการยืนยันแบบ 2 ขั้นตอนหรือไม่
isEnforcedIn2Sv boolean = มีการบังคับใช้การยืนยันแบบ 2 ขั้นตอนสำหรับผู้ใช้หรือไม่
schemaName.fieldName ? ? แอตทริบิวต์ของผู้ใช้ที่กำหนดเอง อ้างอิงตามสคีมาและชื่อฟิลด์ ต้องตั้งค่าพร็อพเพอร์ตี้ indexed ในช่องนี้เป็น true

ประเภทค่า

ประเภทค่า สคีมาที่เทียบเท่า fieldType Notes
string STRING, EMAIL, PHONE ล้อมรอบด้วยเครื่องหมายคำพูดเดี่ยว ' หากข้อความค้นหามีช่องว่าง ใช้เครื่องหมายคําพูดเดียวในข้อความค้นหาด้วย \' เช่น 'Valentine\'s Day'
boolean BOOL ต้องมีค่า true หรือ false รองรับเฉพาะโอเปอเรเตอร์ =
ตัวเลข INT64 DOUBLE ต้องใช้เครื่องหมายจุดเป็นตัวคั่นทศนิยมและไม่มีตัวคั่นหลักพัน เช่น 150430.25
วันที่ DATE ระบุในรูปแบบ YYYY-MM-DD เช่น 2001-02-15

โอเปอเรเตอร์

ผู้ประกอบธุรกิจ ประเภทค่าที่รองรับ Notes
= string, boolean, number, date ฟิลด์และค่าตรงกันทั้งหมด ตัวอย่างเช่น givenName=Jane จะจับคู่ผู้ใช้ทั้งหมดที่มีแอตทริบิวต์ givenName "Jane" แต่ไม่ใช่ "Jane Ann" ใช้ได้กับช่องสตริงส่วนใหญ่ (ดูด้านบน)
: string ช่องนี้มีคำที่สมบูรณ์ภายในค่า โดยเรียงตามลำดับ ตัวอย่างเช่น การค้นหาที่มี givenName:Jane จะจับคู่ผู้ใช้ที่มีค่า givenName เป็น "Jane" และ "Jane Ann" แต่ไม่จับคู่ "Janet" การค้นหาที่มีหลายคำสำหรับ 'givenName:Mary Ann' จะตรงกับค่าของ "Mary Ann Evans" และ "Sarah Mary Ann" แต่ไม่จับคู่กับ "Ann Mary" ใช้ได้กับช่องสตริงส่วนใหญ่ (ดูด้านบน)
:{PREFIX}* string โดยฟิลด์นี้จะเริ่มต้นด้วยค่า ตัวอย่างเช่น การค้นหาที่มี givenName:Jane* จะจับคู่ผู้ใช้ที่มีค่า givenName เป็น "Jane", "Jane Ann" และ "Janet" แต่ไม่จับคู่ "Sarah Jane" รองรับเฉพาะในช่องสตริงที่จำกัดเท่านั้น (ดูด้านบน) ไม่รองรับในแอตทริบิวต์ที่กำหนดเอง
:[{MIN},{MAX}] ตัวเลข, วันที่ ช่องนี้อยู่ในช่วง หากต้องการจับคู่ ค่าของช่องต้องมากกว่าหรือเท่ากับ {MIN} และน้อยกว่า {MAX} แอตทริบิวต์ตัวเลขที่กำหนดเองต้องระบุ numericIndexingSpec เพื่อรองรับโอเปอเรเตอร์นี้
> ตัวเลข, วันที่ ช่องนี้มีค่ามากกว่าค่า แอตทริบิวต์ตัวเลขที่กำหนดเองต้องระบุ numericIndexingSpec เพื่อรองรับโอเปอเรเตอร์นี้
>= ตัวเลข, วันที่ ช่องนี้มากกว่าหรือเท่ากับค่า แอตทริบิวต์ตัวเลขที่กำหนดเองต้องระบุ numericIndexingSpec เพื่อรองรับโอเปอเรเตอร์นี้
< ตัวเลข, วันที่ ช่องนี้มีค่าน้อยกว่าค่า แอตทริบิวต์ตัวเลขที่กำหนดเองต้องระบุ numericIndexingSpec เพื่อรองรับโอเปอเรเตอร์นี้
<= ตัวเลข, วันที่ ช่องนี้มีค่าน้อยกว่าหรือเท่ากับค่า แอตทริบิวต์ตัวเลขที่กำหนดเองต้องระบุ numericIndexingSpec เพื่อรองรับโอเปอเรเตอร์นี้

ตัวอย่าง

คำค้นหาทั้งหมดจะใช้เมธอด users.list ซึ่งมีคำขอ HTTP คล้ายกับข้อความต่อไปนี้ (มีการแบ่งบรรทัดเพื่อให้อ่านได้ง่าย)

GET https://admin.googleapis.com/admin/directory/v1/users?domain=DOMAIN_NAME&query=QUERY_PARAMETERS

ค้นหาผู้ใช้จากชื่อ

ช่องคำค้นหา name จะทดสอบกับค่าที่เชื่อมกันของ givenName และ familyName การค้นหา name='Jane' ไม่แสดงผลลัพธ์สำหรับผู้ใช้ที่มี givenName='Jane' และ familyName='Smith'

name='Jane Smith'

ค้นหาผู้ใช้ที่มี givenName หรือ familyName ซึ่งมีค่า

name:'Jane'

ค้นหาผู้ใช้ที่ตรงกับคำนำหน้าอีเมล

email:admin*

ค้นหาผู้ดูแลระบบขั้นสูงทั้งหมด

isAdmin=true

ค้นหาผู้ใช้ที่มี orgTitles ที่มีคำว่า "ผู้จัดการ"

orgTitle:Manager

ค้นหาผู้ใช้ที่มีผู้จัดการร่วมกันในสายการรายงาน

manager='janesmith@example.com'

ค้นหาผู้ใช้ที่มีบัญชีดูแลจัดการโดยตรงคนเดียวกัน

directManager='bobjones@example.com'

ค้นหาผู้ใช้ในประเทศที่ระบุ

addressCountry='Sweden'

ค้นหาผู้ใช้ในองค์กรที่ต้องการ

orgName='Human Resources'

ค้นหาผู้จัดการในองค์กรที่ต้องการ

orgName=Engineering orgTitle:Manager

ค้นหาแอตทริบิวต์ผู้ใช้ที่กำหนดเอง

ค้นหาพนักงานทั้งหมดที่ทำงานในโปรเจ็กต์ที่ระบุ

EmploymentData.projects:'GeneGnomes'

ค้นหาพนักงานทุกคนในสถานที่ที่ต้องการ

EmploymentData.location='Atlanta'

ค้นหาพนักงานทั้งหมดที่มีอายุเกินงานระดับ 7

EmploymentData.jobLevel>=7

ค้นหาพนักงานทั้งหมดที่มีระดับงาน >= 5 และ < 8

EmploymentData.jobLevel:[5,8]

ค้นหาพนักงานทุกคนที่ลงทะเบียนใน v Verification แบบ 2 ขั้นตอน

isEnrolledIn2Sv=true

ค้นหาพนักงานทุกคนที่บังคับใช้การยืนยันแบบ 2 ขั้นตอน

isEnforcedIn2Sv=true