Para mostrar los campos exactos que necesitas y mejorar el rendimiento, usa fields
.
en tu llamada de método.
De forma predeterminada, el servidor devuelve un conjunto de campos específicos para el recurso que se envía.
que se consultan. Por ejemplo, files.get
solo muestre los valores id
, name
y mimeType
de la
files
. El
El método permissions.get
muestra un
un conjunto diferente de campos predeterminados para
permissions
recurso.
Después de que un servidor procesa una solicitud válida que incluye la consulta fields
este envía un código de estado HTTP 200 OK
junto con el parámetro
de datos no estructurados. Si el parámetro de consulta de campos tiene un error o no es válido, el
el servidor muestra un código de estado HTTP 400 Bad Request
, junto con un error
que indica cuál es el problema con la selección de los campos. Por ejemplo:
files.list(fields='files(id,capabilities,canAddChildren)')
arroja un error de
"La selección de campo no válida puedeAdd Children". El parámetro de consulta de campos correcto para
este ejemplo es
files.list(fields='files(id,capabilities/canAddChildren)')
Para determinar los campos que puedes mostrar con el parámetro fields
, visita la
en la página de documentación del recurso que estás consultando. Por ejemplo, para ver
que puedes mostrar para un archivo, consulta la documentación del recurso files
.
Reglas de formato de los parámetros de campo
El formato del valor del parámetro de solicitud de campos se basa de manera general en XPath.
sintaxis. Las siguientes son reglas de formato para el parámetro fields
. Todos
Estas reglas usan ejemplos relacionados con el método files.get
.
Usa una lista separada por comas para seleccionar varios campos, como
'name, mimeType'
.Usa
a/b
para seleccionar el campob
que se anida en el campoa
, como'capabilities/canDownload'
Para obtener más información, consulta Recuperar los campos de un anidada recurso.Usa un subselector para solicitar un conjunto de subcampos específicos de arrays o objetos colocando expresiones entre paréntesis "()". Por ejemplo:
'permissions(id)'
solo devuelve el ID de permiso para cada elemento en el de permisos de estado.Para mostrar todos los campos de un objeto, usa un asterisco como comodín en el campo selecciones. Por ejemplo,
'permissions/permissionDetails/*'
selecciona todo disponibles por permiso. Ten en cuenta que el uso de este comodín puede tener un impacto negativo en el rendimiento de la solicitud.
Mostrar un ejemplo
Solicitud
En este ejemplo, proporcionamos el parámetro de ruta del ID de archivo y varios campos como un parámetro de consulta en la solicitud. La respuesta muestra los valores de campo para el ID del archivo.
GET https://www.googleapis.com/drive/v3/files/FILE_ID?fields=name,starred,shared
Respuesta
{ "name": "File1", "starred": false, "shared": true } }
Recupera los campos de un recurso anidado
Cuando un campo hace referencia a otro recurso, puedes especificar qué campos del el recurso anidado.
Por ejemplo, para recuperar el campo role
(recurso anidado) de permissions
recurso, usa cualquiera de las siguientes opciones:
permissions.get
confields=role
ofields=*
.files.get
confields=permissions(role)
ofields=permissions/role
.files.get
confields=permissions
para implicar todos los campos de la subclase anidada recurso.changes.list
confields=changes(file(permissions(role)))
.
Para recuperar varios campos, usa una lista separada por comas. Por ejemplo:
files.list
con fields=files(id,name,createdTime,modifiedTime,size)
.
Mostrar un ejemplo
Solicitud
En este ejemplo, proporcionamos el parámetro de ruta de acceso del ID de archivo y varios campos, incluidos ciertos campos del recurso de permisos anidados, como un parámetro de consulta en la solicitud. La respuesta muestra los valores de campo para el ID del archivo.
GET https://www.googleapis.com/drive/v3/files/FILE_ID?fields=name,starred,shared,permissions(kind,type,role)
Respuesta
{ "name": "File1", "starred": false, "shared": true, "permissions": [ { "kind": "drive#permission", "type": "user", "role": "owner" } ] }