Google ไดรฟ์ 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'
สิ่งที่คุณต้องการค้นหา | ตัวอย่าง |
---|---|
ไฟล์ที่มีชื่อ "hello" | name = 'hello' |
ไฟล์ที่มีชื่อมีคำว่า "hello" และ "goodbye" | name contains 'hello' and name contains 'goodbye' |
ไฟล์ที่มีชื่อไม่มีคำว่า "hello" | not name contains 'hello' |
ไฟล์ที่มีข้อความ "สำคัญ" และอยู่ในถังขยะ | fullText contains 'important' and trashed = true |
ไฟล์ที่มีคำว่า "hello" | fullText contains 'hello' |
ไฟล์ที่ไม่มีคำว่า "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 |
ไฟล์ที่แชร์กับผู้ใช้ที่ได้รับอนุญาตซึ่งมี "hello" ในชื่อ | 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
is
true
ในเนื้อหาของคำตอบ แสดงว่าระบบไม่ได้แสดงเอกสารทั้งหมด หากเกิดกรณีนี้ขึ้น คุณควรจำกัดขอบเขตการค้นหาโดยเลือกคอร์ปัสอื่น เช่น user
หรือ drive
หัวข้อที่เกี่ยวข้อง
- ค้นหาไดรฟ์ที่แชร์
- ข้อความค้นหาและโอเปอเรเตอร์การค้นหา
- ประเภท MIME ที่ Google Workspace และ Google ไดรฟ์รองรับ
- บทบาทและสิทธิ์
- ค้นหาไฟล์ที่มีป้ายกำกับหรือค่าช่องที่เฉพาะเจาะจง