เอกสารนี้อธิบายวิธีใช้พารามิเตอร์ fields
ใน Google ไดรฟ์
หากต้องการแสดงฟิลด์ที่ต้องการและปรับปรุงประสิทธิภาพ ให้ใช้fields
พารามิเตอร์ระบบในการเรียกเมธอด
ดูข้อมูลเกี่ยวกับพารามิเตอร์ระบบอื่นๆ ที่ใช้กับ Drive API ได้ที่พารามิเตอร์ระบบทางเลือก
วิธีการทำงานของพารามิเตอร์ฟิลด์
พารามิเตอร์ fields
ใช้
FieldMask
สำหรับการกรองการตอบกลับ ฟิลด์มาสก์ใช้เพื่อระบุชุดย่อยของฟิลด์ที่คำขอควรแสดงผล
การใช้มาสก์ฟิลด์เป็นแนวทางปฏิบัติในการออกแบบที่ดีเพื่อให้แน่ใจว่า
คุณจะไม่ขอข้อมูลที่ไม่จำเป็น ซึ่งจะช่วยลดเวลาในการประมวลผลที่ไม่จำเป็น
ได้
หากไม่ได้ระบุพารามิเตอร์ fields
เซิร์ฟเวอร์จะแสดงผลชุดฟิลด์เริ่มต้น
ที่เฉพาะเจาะจงสำหรับเมธอด เช่น เมธอด list
ในเมธอด files
จะแสดงเฉพาะช่อง kind
, id
, name
และ mimeType
เมธอด get
ในแหล่งข้อมูล permissions
จะแสดงชุดฟิลด์เริ่มต้นที่แตกต่างกัน
สำหรับเมธอดทั้งหมดของทรัพยากร about
, comments
(ยกเว้น delete
) และ replies
(ยกเว้น delete
) คุณต้องตั้งค่า
fields
พารามิเตอร์ วิธีการเหล่านี้จะไม่แสดงชุดฟิลด์เริ่มต้น
หลังจากที่เซิร์ฟเวอร์ประมวลผลคำขอที่ถูกต้องซึ่งมีพารามิเตอร์ fields
แล้ว
เซิร์ฟเวอร์จะแสดงรหัสสถานะ HTTP 200 OK
พร้อมกับข้อมูลที่ขอ หากพารามิเตอร์
fields มีข้อผิดพลาดหรือใช้ไม่ได้ เซิร์ฟเวอร์จะแสดงรหัสสถานะ
HTTP 400 Bad Request
พร้อมข้อความแสดงข้อผิดพลาดที่ระบุว่าการเลือกช่องมีข้อผิดพลาด เช่น
files.list(fields='files(id,capabilities,canAddChildren)')
จะทำให้เกิดข้อผิดพลาด
"การเลือกฟิลด์ไม่ถูกต้อง canAddChildren" พารามิเตอร์ฟิลด์ที่ถูกต้องสำหรับตัวอย่างนี้คือ files.list(fields='files(id,capabilities/canAddChildren)')
หากต้องการดูช่องที่คุณแสดงผลได้โดยใช้พารามิเตอร์ fields
ให้ไปที่หน้าเอกสารประกอบของทรัพยากรที่คุณกำลังค้นหา เช่น หากต้องการดูว่าฟิลด์ใดที่คุณส่งคืนได้สำหรับไฟล์ ให้ดูfiles
เอกสารประกอบของทรัพยากร
ดูคำค้นหาที่เฉพาะเจาะจงกับไฟล์เพิ่มเติมได้ที่คำและโอเปอเรเตอร์ของคำค้นหา
กฎรูปแบบพารามิเตอร์ฟิลด์
รูปแบบของค่าพารามิเตอร์คำขอฟิลด์อิงตามไวยากรณ์ XPath อย่างคร่าวๆ กฎการจัดรูปแบบสำหรับพารามิเตอร์ fields
มีดังนี้ กฎทั้งหมดเหล่านี้ใช้ตัวอย่างที่เกี่ยวข้องกับวิธีการ files.get
ใช้รายการที่คั่นด้วยคอมมาเพื่อเลือกหลายฟิลด์ เช่น
'name, mimeType'
ใช้
a/b
เพื่อเลือกฟิลด์b
ที่ซ้อนอยู่ภายในฟิลด์a
เช่น'capabilities/canDownload'
ดูข้อมูลเพิ่มเติมได้ที่ดึงข้อมูลฟิลด์ของ ทรัพยากรที่ซ้อนกันใช้ตัวเลือกย่อยเพื่อขอชุดฟิลด์ย่อยที่เฉพาะเจาะจงของอาร์เรย์หรือ ออบเจ็กต์โดยวางนิพจน์ไว้ในวงเล็บ "()" เช่น
'permissions(id)'
จะแสดงเฉพาะรหัสสิทธิ์สำหรับแต่ละองค์ประกอบใน อาร์เรย์สิทธิ์หากต้องการแสดงช่องทั้งหมดในออบเจ็กต์ ให้ใช้เครื่องหมายดอกจัน (
*
) เป็นไวลด์การ์ดใน การเลือกช่อง เช่น'permissions/permissionDetails/*'
จะเลือก ฟิลด์รายละเอียดสิทธิ์ที่มีอยู่ทั้งหมดต่อสิทธิ์ โปรดทราบว่าการใช้ อักขระไวด์การ์ดอาจส่งผลเสียต่อประสิทธิภาพของคำขอ
คำขอ
ในตัวอย่างนี้ เราจะระบุพารามิเตอร์เส้นทางรหัสไฟล์และฟิลด์หลายรายการเป็นพารามิเตอร์การค้นหาในคำขอ การตอบกลับจะแสดงค่าฟิลด์สำหรับรหัสไฟล์
GET https://www.googleapis.com/drive/v3/files/FILE_ID?fields=name,starred,shared
การตอบกลับ
{ "name": "File1", "starred": false, "shared": true } }
ดึงข้อมูลฟิลด์ของทรัพยากรที่ซ้อนกัน
เมื่อฟิลด์อ้างอิงถึงทรัพยากรอื่น คุณสามารถระบุฟิลด์ของ ทรัพยากรที่ซ้อนกันที่ควรดึงข้อมูลได้
เช่น หากต้องการดึงข้อมูลฟิลด์ role
(ทรัพยากรที่ซ้อนกัน) ของทรัพยากร permissions
ให้ใช้ตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้
permissions.get
ด้วยfields=role
permissions.get
พร้อมfields=*
เพื่อแสดงฟิลด์permissions
ทั้งหมดfiles.get
กับfields=permissions(role)
หรือfields=permissions/role
files.get
พร้อมfields=permissions
เพื่อแสดงฟิลด์permissions
ทั้งหมดchanges.list
ด้วยfields=changes(file(permissions(role)))
หากต้องการดึงข้อมูลหลายฟิลด์ ให้ใช้รายการที่คั่นด้วยคอมมา เช่น files.list
กับ fields=files(id,name,createdTime,modifiedTime,size)
คำขอ
ในตัวอย่างนี้ เราจะระบุพารามิเตอร์เส้นทางรหัสไฟล์และฟิลด์หลายรายการ รวมถึงฟิลด์บางรายการของทรัพยากรสิทธิ์ที่ซ้อนกันเป็นพารามิเตอร์การค้นหาในคำขอ การตอบกลับจะแสดงค่าฟิลด์สำหรับรหัสไฟล์
GET https://www.googleapis.com/drive/v3/files/FILE_ID?fields=name,starred,shared,permissions(kind,type,role)
การตอบกลับ
{ "name": "File1", "starred": false, "shared": true, "permissions": [ { "kind": "drive#permission", "type": "user", "role": "owner" } ] }
พารามิเตอร์ระบบอื่น
พารามิเตอร์การค้นหาที่มีผลกับการดำเนินการทั้งหมดของ Google ไดรฟ์ API จะมีการบันทึกไว้ที่ พารามิเตอร์ของระบบ