Google Drive API รองรับการค้นหาไฟล์และโฟลเดอร์ได้หลายวิธี
คุณจะใช้เมธอด files.list
เพื่อส่งคืนไฟล์และโฟลเดอร์ของผู้ใช้ไดรฟ์ทั้งหมดหรือบางส่วนได้ คุณยังใช้เมธอด files.list
เพื่อเรียกข้อมูล fileId
ที่จำเป็นสำหรับเมธอดทรัพยากรบางอย่างได้ด้วย (เช่น files.get
และ files.update
)
ค้นหาไฟล์และโฟลเดอร์ทั้งหมดในไดรฟ์ของฉันของผู้ใช้ปัจจุบัน
ใช้เมธอด files.list
โดยไม่มีพารามิเตอร์ใดๆ เพื่อแสดงไฟล์และโฟลเดอร์ทั้งหมด
GET https://www.googleapis.com/drive/v3/files
ค้นหาไฟล์หรือโฟลเดอร์ที่ต้องการในไดรฟ์ของฉันของผู้ใช้ปัจจุบัน
หากต้องการค้นหาชุดไฟล์หรือโฟลเดอร์ที่เฉพาะเจาะจง ให้ใช้ช่องสตริงการค้นหา q
กับเมธอด files.list
เพื่อกรองไฟล์ที่จะแสดงโดยรวมข้อความค้นหาอย่างน้อย 1 รายการเข้าด้วยกัน
สตริงการค้นหาประกอบด้วย 3 ส่วนต่อไปนี้
query_term operator values
โดยที่
query_term
คือคำหรือช่องในการค้นหาoperator
ระบุเงื่อนไขสำหรับข้อความค้นหาvalues
คือค่าเฉพาะที่คุณต้องการใช้เพื่อกรองผลการค้นหา
หากต้องการดูคำค้นหาและโอเปอเรเตอร์ที่ใช้กรองไฟล์และโฟลเดอร์ได้ โปรดดูคำค้นหาและโอเปอเรเตอร์ของคำค้นหา
ตัวอย่างเช่น สตริงการค้นหาต่อไปนี้จะกรองการค้นหาให้แสดงผลเฉพาะโฟลเดอร์โดยการตั้งค่าประเภท MIME ดังนี้
q: mimeType = 'application/vnd.google-apps.folder'
ดูข้อมูลเพิ่มเติมเกี่ยวกับประเภท MIME ได้ที่ ประเภท MIME ที่รองรับ Google Workspace และ Google ไดรฟ์
ตัวอย่างสตริงการค้นหา
ตารางต่อไปนี้แสดงตัวอย่างสตริงการค้นหาพื้นฐานบางส่วน โค้ดจริงจะแตกต่างกันตามไลบรารีของไคลเอ็นต์ที่คุณใช้ในการค้นหา
สิ่งที่คุณต้องการค้นหา | ตัวอย่าง |
---|---|
ไฟล์ชื่อ "hello" | name = 'hello' |
ไฟล์ที่มีชื่อที่มีคำว่า "สวัสดี" และ "ลาก่อน" | name contains 'hello' and name contains 'goodbye' |
ไฟล์ที่มีชื่อที่ไม่มีคำว่า "hello" | not name contains 'hello' |
ไฟล์ที่มีข้อความ "สำคัญ" และอยู่ในถังขยะ | fullText contains 'important' and trashed = true |
ไฟล์ที่มีคำว่า "สวัสดี" | fullText contains 'hello' |
ไฟล์ที่ไม่มีคำว่า "สวัสดี" | not fullText contains 'hello' |
ไฟล์ที่มีวลี "hello world" จริงๆ | fullText contains '"hello world"' |
ไฟล์ที่มีคำค้นหาที่มีอักขระ "\" (เช่น "\authors") | fullText contains '\\authors' |
ไฟล์ที่เป็นโฟลเดอร์ | mimeType = 'application/vnd.google-apps.folder' |
ไฟล์ที่ไม่ใช่โฟลเดอร์ | mimeType != 'application/vnd.google-apps.folder' |
ไฟล์ที่แก้ไขหลังจากวันที่ที่ระบุ (เขตเวลาเริ่มต้นคือ UTC) | modifiedTime > '2012-06-04T12:00:00' |
ไฟล์รูปภาพหรือวิดีโอที่แก้ไขหลังจากวันที่ที่กำหนด | modifiedTime > '2012-06-04T12:00:00' and (mimeType contains 'image/' or mimeType contains 'video/') |
ไฟล์ที่ติดดาว | starred = true |
ไฟล์ภายในคอลเล็กชัน (เช่น รหัสโฟลเดอร์ในคอลเล็กชัน parents ) |
'1234567' in parents |
ไฟล์ในโฟลเดอร์ข้อมูลแอปพลิเคชันในคอลเล็กชัน | 'appDataFolder' in parents |
ไฟล์ที่ผู้ใช้ "test@example.org" เป็นเจ้าของ | 'test@example.org' in owners |
ไฟล์ที่ผู้ใช้ "test@example.org" มีสิทธิ์เขียน | 'test@example.org' in writers |
ไฟล์ที่สมาชิกของกลุ่ม "group@example.org" มีสิทธิ์เขียน | 'group@example.org' in writers |
ไฟล์ที่แชร์กับผู้ใช้ที่ได้รับอนุญาตโดยมีคำว่า "สวัสดี" ในชื่อ | sharedWithMe and name contains 'hello' |
ไฟล์ที่มีพร็อพเพอร์ตี้ไฟล์ที่กำหนดเองแสดงต่อทุกแอป | properties has { key='mass' and value='1.3kg' } |
ไฟล์ที่มีพร็อพเพอร์ตี้ไฟล์ที่กำหนดเองเป็นแบบส่วนตัวสำหรับแอปที่ส่งคำขอ | appProperties has { key='additionalID' and value='8e8aceg2af2ge72e78' } |
ไฟล์ที่ไม่ได้แชร์กับใครหรือโดเมนเลย (เฉพาะส่วนตัว หรือแชร์กับผู้ใช้หรือกลุ่มที่ระบุ) | visibility = 'limited' |
กรองผลการค้นหาด้วยไลบรารีของไคลเอ็นต์
ตัวอย่างโค้ดต่อไปนี้จะแสดงวิธีใช้ไลบรารีของไคลเอ็นต์เพื่อกรองผลการค้นหาให้เหลือเพียงชื่อไฟล์และรหัสของไฟล์ JPEG ตัวอย่างนี้ใช้คำค้นหา mimeType
เพื่อจำกัดผลการค้นหาให้แสดงเฉพาะไฟล์ประเภท image/jpeg
นอกจากนี้ยังตั้งค่า spaces
เป็น drive
เพื่อจำกัดการค้นหาให้แคบลงเหลือเพียง พื้นที่ในไดรฟ์ เมื่อ nextPageToken
แสดงผล null
จะไม่แสดงผลลัพธ์ใดๆ เพิ่มเติม
Java
Python
Node.js
PHP
ค้นหาไฟล์ที่มีพร็อพเพอร์ตี้ไฟล์ที่กำหนดเอง
หากต้องการค้นหาไฟล์ที่มีพร็อพเพอร์ตี้ไฟล์ที่กำหนดเอง ให้ใช้ข้อความค้นหา properties
หรือ appProperties
พร้อมด้วยคีย์และค่า เช่น หากต้องการค้นหาพร็อพเพอร์ตี้ไฟล์ที่กำหนดเองซึ่งเป็นแบบส่วนตัวสำหรับแอปที่ส่งคำขอที่มีชื่อว่า additionalID
โดยมีค่า 8e8aceg2af2ge72e78
ให้ทำดังนี้
appProperties has { key='additionalID' and value='8e8aceg2af2ge72e78' }
ดูข้อมูลเพิ่มเติมได้ที่เพิ่มพร็อพเพอร์ตี้ไฟล์ที่กำหนดเอง
ค้นหาไฟล์ที่มีป้ายกำกับหรือค่าในช่องที่เจาะจง
หากต้องการค้นหาไฟล์ที่มีป้ายกำกับที่ต้องการ ให้ใช้ข้อความค้นหา labels
ที่มีรหัสป้ายกำกับที่เฉพาะเจาะจง เช่น 'labels/LABEL_ID' in
labels
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีอินสแตนซ์ไฟล์ทั้งหมดที่มีการใช้ป้ายกำกับ
หากต้องการค้นหาไฟล์ที่ไม่มีรหัสป้ายกำกับที่เฉพาะเจาะจง: Not
'labels/LABEL_ID' in labels
.
นอกจากนี้ คุณยังค้นหาไฟล์ตามค่าในช่องที่เจาะจงได้ด้วย เช่น หากต้องการค้นหาไฟล์ที่มีค่าข้อความ ให้ใช้รูปแบบ labels/LABEL_ID.text_field_id ='TEXT'
ดูข้อมูลเพิ่มเติมได้ที่ค้นหาไฟล์ที่มีป้ายกำกับหรือค่าในช่องที่เจาะจง
ค้นหาคลังข้อมูล
การค้นหาที่โทรหา files.list
จะใช้ corpora
ของ user
โดยค่าเริ่มต้น หากต้องการค้นหาคลังอื่นๆ เช่น ไฟล์ที่แชร์กับ domain
ให้ตั้งค่าพารามิเตอร์ corpora
ระบบอาจค้นหาคลังข้อมูลหลายรายการในคำค้นหาเดียว แต่อาจแสดงผลการค้นหาที่ไม่สมบูรณ์หากคลังข้อมูลแบบรวมมีขนาดใหญ่เกินไป หาก incompleteSearch
เท่ากับ
true
ในเนื้อหาการตอบกลับ จะไม่มีการส่งคืนเอกสารทั้งหมด ในกรณีนี้ คุณควรจำกัดการค้นหาให้แคบลงโดยเลือกคลังข้อมูลอื่น เช่น user
หรือ drive
หัวข้อที่เกี่ยวข้อง
- ค้นหาไดรฟ์ที่แชร์
- ข้อความค้นหาและโอเปอเรเตอร์
- ประเภท MIME ที่รองรับใน Google Workspace และ Google ไดรฟ์
- บทบาทและสิทธิ์
- ค้นหาไฟล์ที่มีป้ายกำกับหรือค่าในช่องที่เจาะจง