ค้นหาผู้ใช้

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

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

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

ช่อง

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

ประเภทค่า

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

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

โอเปอเรเตอร์ ประเภทค่าที่รองรับ หมายเหตุ
= สตริง บูลีน ตัวเลข วันที่ ฟิลด์และค่าตรงกันทุกประการ เช่น givenName=Jane จะตรงกับผู้ใช้ทั้งหมดที่มีแอตทริบิวต์ givenName เป็น "Jane" แต่ไม่ตรงกับ "Jane Ann" รองรับในฟิลด์สตริงส่วนใหญ่ (ดูด้านบน)
: สตริง ฟิลด์นี้มีคำทั้งหมดภายในค่าตามลำดับ เช่น การค้นหาที่มี givenName:Jane จะตรงกับผู้ใช้ที่มีค่า givenName เป็น "Jane" และ "Jane Ann" แต่ไม่ตรงกับ "Janet" คำค้นหาแบบหลายคำสำหรับ 'givenName:Mary Ann' จะตรงกับค่าของ "Mary Ann Evans" และ "Sarah Mary Ann" แต่ไม่ตรงกับ "Ann Mary" รองรับในฟิลด์สตริงส่วนใหญ่ (ดูด้านบน)
:{PREFIX}* สตริง ฟิลด์จะเริ่มต้นด้วยค่า ตัวอย่างเช่น การค้นหาที่มี 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]

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

isEnrolledIn2Sv=true

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

isEnforcedIn2Sv=true