คู่มือนี้อธิบายวิธีที่ Google ไดรฟ์ API รองรับการค้นหาไฟล์ และโฟลเดอร์ได้หลายวิธี
คุณสามารถใช้วิธี list
ในแหล่งข้อมูล files
เพื่อส่งคืนไฟล์และโฟลเดอร์ทั้งหมดหรือบางส่วนของผู้ใช้ไดรฟ์ นอกจากนี้ ยังใช้list
เพื่อดึงข้อมูล fileId
ที่จำเป็นสำหรับเมธอดของทรัพยากรบางอย่างได้ด้วย (เช่น เมธอด get
และเมธอด update
)
ใช้พารามิเตอร์ฟิลด์
หากต้องการระบุช่องที่จะแสดงผลในการตอบกลับ คุณสามารถตั้งค่าfields
พารามิเตอร์ระบบ
ด้วยเมธอดใดก็ได้ของทรัพยากร files
หากไม่ระบุพารามิเตอร์ fields
เซิร์ฟเวอร์จะแสดงผลชุดฟิลด์เริ่มต้นที่เฉพาะเจาะจงสำหรับเมธอด เช่น เมธอด list
จะแสดงเฉพาะช่อง kind
, id
, name
, mimeType
และ resourceKey
สำหรับแต่ละไฟล์ หากต้องการแสดงฟิลด์อื่น ให้ดูแสดงฟิลด์ที่เฉพาะเจาะจง
รับไฟล์
หากต้องการรับไฟล์ ให้ใช้เมธอด get
ในแหล่งข้อมูล
files
ที่มีพารามิเตอร์เส้นทาง fileId
หากไม่ทราบรหัสไฟล์ คุณสามารถแสดงรายการไฟล์ทั้งหมดโดยใช้เมธอด list
เมธอดจะแสดงผลไฟล์เป็นอินสแตนซ์ของทรัพยากร files
หากคุณระบุพารามิเตอร์การค้นหา alt=media
การตอบกลับจะมีเนื้อหาของไฟล์ในเนื้อหาการตอบกลับ หากต้องการดาวน์โหลดหรือส่งออกไฟล์ โปรดดูดาวน์โหลดและส่งออก
ไฟล์
หากต้องการรับทราบความเสี่ยงในการดาวน์โหลดมัลแวร์ที่รู้จักหรือไฟล์อื่นๆ ที่ละเมิด ให้ตั้งค่าพารามิเตอร์การค้นหา acknowledgeAbuse
เป็น true
ฟิลด์นี้จะใช้ได้ก็ต่อเมื่อมีการตั้งค่าพารามิเตอร์ alt=media
และผู้ใช้เป็นเจ้าของไฟล์หรือผู้จัดการไดรฟ์ที่แชร์ซึ่งมีไฟล์อยู่
ค้นหาไฟล์และโฟลเดอร์ทั้งหมดในไดรฟ์ของฉันของผู้ใช้ปัจจุบัน
ใช้เมธอด list
โดยไม่มีพารามิเตอร์เพื่อแสดงไฟล์และโฟลเดอร์ทั้งหมด
GET https://www.googleapis.com/drive/v3/files
ค้นหาไฟล์หรือโฟลเดอร์ที่ต้องการในไดรฟ์ของฉันของผู้ใช้ปัจจุบัน
หากต้องการค้นหาชุดไฟล์หรือโฟลเดอร์ที่เฉพาะเจาะจง ให้ใช้สตริงการค้นหาq
field
กับเมธอด list
เพื่อกรองไฟล์ที่จะ
แสดงผลโดยการรวมคำค้นหาอย่างน้อย 1 คำ
ไวยากรณ์สตริงการค้นหาประกอบด้วย 3 ส่วนต่อไปนี้
query_term operator values
สถานที่:
query_term
คือคำค้นหาหรือฟิลด์ที่จะค้นหาoperator
ระบุเงื่อนไขสำหรับคำค้นหาvalues
คือค่าที่เฉพาะเจาะจงที่คุณต้องการใช้เพื่อกรองผลการค้นหา
เช่น สตริงการค้นหาต่อไปนี้จะกรองการค้นหาให้แสดงเฉพาะ โฟลเดอร์โดยการตั้งค่าประเภท MIME
q: mimeType = 'application/vnd.google-apps.folder'
หากต้องการดูข้อความค้นหาไฟล์ทั้งหมด โปรดดูข้อความค้นหาเฉพาะไฟล์
หากต้องการดูโอเปอเรเตอร์การค้นหาทั้งหมดที่คุณใช้สร้างการค้นหาได้ โปรดดูโอเปอเรเตอร์ การค้นหา
ตัวอย่างสตริงการค้นหา
ตารางต่อไปนี้แสดงตัวอย่างสตริงการค้นหาพื้นฐานบางรายการ โค้ดจริงจะแตกต่างกันไปตามไลบรารีไคลเอ็นต์ที่คุณใช้ในการค้นหา
นอกจากนี้ คุณต้องกำหนดอักขระพิเศษในชื่อไฟล์เป็นอักขระหลีกเพื่อให้
คําค้นทํางานได้อย่างถูกต้อง เช่น หากชื่อไฟล์มีทั้งเครื่องหมายอัญประกาศเดี่ยว
('
) และเครื่องหมายแบ็กสแลช ("\"
) ให้ใช้แบ็กสแลชเพื่อกำหนดเป็นอักขระหลีก: 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'
ดูข้อมูลเพิ่มเติมได้ที่ค้นหาไฟล์ที่มีป้ายกำกับหรือค่าฟิลด์ที่เฉพาะเจาะจง
ค้นหาคลังข้อความ
การค้นหาที่เรียกใช้เมธอด list
จะใช้ corpora
ของ user
โดยค่าเริ่มต้น หากต้องการค้นหา
คลังข้อความอื่นๆ เช่น ไฟล์ที่แชร์กับdomain
ให้ตั้งค่าพารามิเตอร์ corpora
คุณค้นหาคลังวรรณกรรมหลายรายการได้ในคำค้นหาเดียว แต่อาจได้รับผลลัพธ์ที่ไม่สมบูรณ์หากคลังวรรณกรรมรวมมีขนาดใหญ่เกินไป หาก incompleteSearch
is
true
ในเนื้อหาการตอบกลับ แสดงว่าระบบไม่ได้แสดงเอกสารทั้งหมด หากเกิดกรณีนี้ขึ้น คุณควรจำกัดการค้นหาโดยเลือกคลังข้อความอื่น เช่น user
หรือ drive
หัวข้อที่เกี่ยวข้อง
- ค้นหาไดรฟ์ที่แชร์
- คำและโอเปอเรเตอร์ในคำค้นหา
- ประเภท MIME ที่รองรับใน Google Workspace และ Google ไดรฟ์
- บทบาทและสิทธิ์
- ค้นหาไฟล์ที่มีป้ายกำกับหรือค่าฟิลด์ที่เฉพาะเจาะจง