Restituire campi specifici per un file

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 campo b nidificato all'interno del campo a, 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 con fields=role o fields=*.
  • files.get con fields=permissions(role) o fields=permissions/role.
  • files.get con fields=permissions al fine di sottintendere tutti i campi dell'elemento risorsa.
  • changes.list con fields=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"
    }
  ]
}