Gli esempi riportati di seguito mostrano come recuperare risposte parziali dell'API nell'API YouTube Data (v3).
Nota:la guida Introduzione dell'API fornisce ulteriori dettagli su richieste e risposte parziali.
L'API v3 consente e richiede il recupero di risorse parziali in modo che le applicazioni evitino di trasferire, analizzare e memorizzare dati non necessari. Questo approccio garantisce inoltre che l'API utilizzi le risorse di rete, CPU e memoria in modo più efficiente.
L'API supporta due parametri di richiesta, part
e fields
, che consentono di identificare le proprietà delle risorse da includere nelle risposte dell'API. Il parametro part
identifica anche le proprietà che devono essere impostate dalle richieste API che inseriscono o aggiornano le risorse.
Tieni presente che se una richiesta di aggiornamento non specifica un valore per una proprietà della risorsa che in precedenza aveva un valore, il valore esistente verrà eliminato se le seguenti condizioni sono vere:
-
Il valore della proprietà può essere modificato dalla richiesta. Ad esempio, quando aggiorni una risorsa
video
, puoi aggiornare il valore della proprietàsnippet.description
, ma non puoi aggiornare il valore dell'oggettosnippet.thumbnails
. -
Il valore del parametro
part
della richiesta identifica la parte della risorsa che contiene la proprietà.
Esempio
Ad esempio, supponiamo che tu voglia aggiornare la risorsa video
mostrata di seguito. Tieni presente che tutte le proprietà mostrate di seguito possono essere aggiornate tramite l'API e che le proprietà delle risorse non pertinenti all'esempio sono state omesse.
{ "snippet": { "title": "Old video title", "description": "Old video description", "tags": ["keyword1","keyword2","keyword3"], "categoryId: 22 }, "status": { "privacyStatus": "private", "publishAt": "2014-09-01T12:00:00.0Z", "license": "youtube", "embeddable": True, "publicStatsViewable": True } }
Chiami il metodo videos.update
e imposti il valore del parametro part
su snippet
. Il corpo della richiesta dell'API contiene la seguente risorsa:
{ "snippet": { "title": "New video title", "tags": ["keyword1","keyword2","keyword3"], "categoryId: 22 } }
Questa richiesta aggiorna il titolo del video, ne elimina la descrizione e non modifica i tag o l'ID categoria. La descrizione del video viene eliminata perché la richiesta non specifica un valore per la proprietà snippet.description
.
Le proprietà nell'oggetto status
non sono interessate perché il valore del parametro part
non includeva status
come una delle parti che la richiesta aggiornava. Infatti, se il corpo della richiesta API includeva l'oggetto status
, l'API restituiva una risposta HTTP 400 (Bad Request)
a causa di una parte imprevista inclusa nel corpo della richiesta.