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 ไดรฟ์รองรับ
ตัวอย่างสตริงการค้นหา
ตารางต่อไปนี้แสดงตัวอย่างสตริงการค้นหาพื้นฐานบางรายการ ทั้งนี้โค้ดจริงจะแตกต่างกันไปตามไลบรารีของไคลเอ็นต์ที่ใช้ในการค้นหา
คุณต้องกำหนดสัญลักษณ์พิเศษในชื่อไฟล์เป็นอักขระหลีกด้วยเพื่อให้แน่ใจว่าคำค้นหาทำงานได้อย่างถูกต้อง เช่น หากชื่อไฟล์มีทั้งเครื่องหมายอะพอสทรอฟี
('
) และแบ็กสแลช ("\"
) ให้ใช้แบ็กสแลชเป็นอักขระหลีกเพื่อแบ่งเป็น name
contains 'quinn\'s paper\\essay'
สิ่งที่คุณต้องการค้นหา | ตัวอย่าง |
---|---|
ไฟล์ชื่อ "สวัสดี" | name = 'hello' |
ไฟล์ที่มีชื่อที่มีคำว่า "สวัสดี" และ "ลาก่อน" | name contains 'hello' and name contains 'goodbye' |
ไฟล์ที่มีชื่อที่ไม่มีคำว่า "สวัสดี" | not name contains 'hello' |
ไฟล์ที่มีข้อความ "สำคัญ" และอยู่ในถังขยะ | fullText contains 'important' and trashed = true |
ไฟล์ที่มีคำว่า "สวัสดี" | fullText contains 'hello' |
ไฟล์ที่ไม่มีคำว่า "สวัสดี" | not fullText contains 'hello' |
ไฟล์ที่มีวลี "สวัสดีโลก" ทุกประการ | 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 ไดรฟ์
- บทบาทและสิทธิ์
- ค้นหาไฟล์ที่มีป้ายกำกับหรือค่าในช่องที่เฉพาะเจาะจง