คุณค้นหาผู้ใช้ที่ตรงกับแอตทริบิวต์บางอย่างได้ด้วยเมธอด
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