หากต้องการให้แสดงผลฟิลด์ที่คุณต้องการ และปรับปรุงประสิทธิภาพ ให้ใช้พารามิเตอร์การค้นหา fields
ในการเรียกเมธอด
โดยค่าเริ่มต้น เซิร์ฟเวอร์จะส่งชุดช่องเฉพาะของทรัพยากรที่ค้นหากลับมา เช่น เมธอด files.get
อาจแสดงผลเฉพาะ id
, name
และ mimeType
สำหรับทรัพยากร files
เมธอด permissions.get
จะแสดงผลชุดช่องเริ่มต้นที่ต่างออกไปสำหรับทรัพยากร permissions
หลังจากเซิร์ฟเวอร์ประมวลผลคำขอที่ถูกต้องซึ่งมีพารามิเตอร์การค้นหา fields
เซิร์ฟเวอร์จะส่งรหัสสถานะ HTTP 200 OK
พร้อมกับข้อมูลที่ขอกลับมา หากพารามิเตอร์การค้นหาช่องมีข้อผิดพลาดหรือไม่ถูกต้อง เซิร์ฟเวอร์จะแสดงรหัสสถานะ HTTP 400 Bad Request
พร้อมข้อความแสดงข้อผิดพลาดที่ระบุว่าการเลือกช่องไม่ถูกต้อง ตัวอย่างเช่น
files.list(fields='files(id,capabilities,canAddChildren)')
จะให้ข้อผิดพลาด
"การเลือกช่องที่ไม่ถูกต้อง canAddChild" พารามิเตอร์การค้นหาช่องที่ถูกต้องสำหรับตัวอย่างนี้คือ 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
หรือfields=*
files.get
ด้วยfields=permissions(role)
หรือfields=permissions/role
files.get
พร้อมfields=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" } ] }