I seguenti esempi mostrano come recuperare risposte parziali dell'API nell'API YouTube Data (v3).
Nota: la guida introduttiva dell'API fornisce maggiori dettagli sulle richieste e sulle risposte parziali.
L'API v3 consente, e in realtà richiede, il recupero di risorse parziali, in modo che le applicazioni non trasferiscano, analizzino e archivino 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 ti consentono di identificare le proprietà della risorsa da includere nelle risposte dell'API. Il parametro part
identifica anche le proprietà che devono essere impostate dalle richieste API che inseriscono o aggiornano 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 si verificano le seguenti condizioni:
-
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 parametro
part
della richiesta identifica la parte della risorsa che contiene la proprietà.
Esempio
Supponi, ad esempio, di voler 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 } }
Richiama il metodo videos.update
e imposta il valore del parametro part
su snippet
. Il corpo della richiesta 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 in quanto il valore del parametro part
non includeva status
come una delle parti che la richiesta verrebbe aggiornata. Infatti, se il corpo della richiesta API includeva l'oggetto status
, l'API restituisce una risposta HTTP 400 (Bad Request)
perché nel corpo della richiesta è stata inclusa una parte imprevista.