Per restituire esattamente i campi di cui hai bisogno e migliorare le prestazioni, utilizza la fields
nella tua chiamata al metodo.
Per impostazione predefinita, il server restituisce un insieme di campi specifici per la risorsa
con cui viene eseguita la query. Ad esempio, la proprietà files.get
potrebbe restituire solo id
, name
e mimeType
per il
files
. La
Il metodo permissions.get
restituisce un
un insieme di campi predefiniti
permissions
.
Dopo che un server elabora una richiesta valida che include la query fields
, invia un codice di stato HTTP 200 OK
, insieme al parametro
e i dati di Google Cloud. Se il parametro di query dei campi contiene un errore o non è valido, il valore
il server restituisce un codice di stato HTTP 400 Bad Request
, insieme a un errore
in cui viene indicato il problema nella selezione dei campi. Ad esempio:
files.list(fields='files(id,capabilities,canAddChildren)')
restituisce un errore di
"Selezione del campo canAddChildren non valida." Il parametro di query dei campi corretti per
in questo esempio
files.list(fields='files(id,capabilities/canAddChildren)')
.
Per determinare i campi che puoi restituire utilizzando il parametro fields
, visita la
pagina della documentazione relativa alla risorsa su cui stai eseguendo la query. Ad esempio, per vedere cosa
che puoi restituire per un file, consulta la documentazione delle risorse files
.
Regole per la formattazione dei parametri di campo
Il formato del valore del parametro di richiesta dei campi è basato liberamente su XPath
a riga di comando. Di seguito sono riportate le regole di formattazione per il parametro fields
. Tutti questi
queste regole utilizzano esempi relativi al metodo files.get
.
Utilizza un elenco separato da virgole per selezionare più campi, ad esempio
'name, mimeType'
.Utilizza
a/b
per selezionare il campob
nidificato all'interno del campoa
, ad esempio'capabilities/canDownload'
. Per ulteriori informazioni, vedi Recuperare i campi di un nidificata risorsa.Utilizzare un sottoselettore per richiedere un insieme di sottocampi specifici di array inserendo espressioni tra parentesi "()". Ad esempio:
'permissions(id)'
restituisce solo l'ID autorizzazione per ogni elemento in autorizzazioni aggiuntive.Per restituire tutti i campi di un oggetto, utilizza un asterisco come carattere jolly nel campo selezioni. Ad esempio,
'permissions/permissionDetails/*'
seleziona tutti campi con i dettagli delle autorizzazioni disponibili per ogni autorizzazione. Tieni presente che l'utilizzo questo carattere jolly può causare un impatto negativo sulle prestazioni della richiesta.
Mostra un esempio
Richiedi
In questo esempio, forniamo il parametro file ID path e più campi come parametro di query nella richiesta. La risposta restituisce i valori del campo per l'ID file.
GET https://www.googleapis.com/drive/v3/files/FILE_ID?fields=name,starred,shared
Risposta
{ "name": "File1", "starred": false, "shared": true } }
Recupera i campi di una risorsa nidificata
Quando un campo si riferisce a un'altra risorsa, puoi specificare quali campi del la risorsa nidificata.
Ad esempio, per recuperare il campo role
(risorsa nidificata) di permissions
risorsa, utilizza una delle seguenti opzioni:
permissions.get
confields=role
ofields=*
.files.get
confields=permissions(role)
ofields=permissions/role
.files.get
confields=permissions
al fine di sottintendere tutti i campi dell'elemento risorsa.changes.list
confields=changes(file(permissions(role)))
.
Per recuperare più campi, utilizza un elenco separato da virgole. Ad esempio:
files.list
con fields=files(id,name,createdTime,modifiedTime,size)
.
Mostra un esempio
Richiedi
In questo esempio, forniamo il parametro del percorso ID file e più campi, inclusi alcuni campi della risorsa autorizzazioni nidificate, come parametro di query nella richiesta. La risposta restituisce i valori del campo per l'ID file.
GET https://www.googleapis.com/drive/v3/files/FILE_ID?fields=name,starred,shared,permissions(kind,type,role)
Risposta
{ "name": "File1", "starred": false, "shared": true, "permissions": [ { "kind": "drive#permission", "type": "user", "role": "owner" } ] }