แสดงผลช่องที่เจาะจงของไฟล์

หากต้องการให้แสดงผลฟิลด์ที่คุณต้องการ และปรับปรุงประสิทธิภาพ ให้ใช้พารามิเตอร์การค้นหา 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"
    }
  ]
}