Les exemples suivants montrent comment récupérer des réponses partielles de l'API dans l'API YouTube Data (v3).
Remarque:Le guide de mise en route de l'API fournit des informations plus détaillées sur les requêtes partielles et les réponses associées.
La version 3 de l'API permet, et même nécessite, la récupération de ressources partielles pour que les applications n'aient pas à transférer, analyser ni stocker des données inutiles. Cette approche garantit également que l'API utilise les ressources réseau, de processeur et de mémoire plus efficacement.
L'API accepte deux paramètres de requête, part
et fields
, qui vous permettent d'identifier les propriétés de la ressource à inclure dans les réponses de l'API. Le paramètre part
identifie également les propriétés qui doivent être définies par les requêtes API qui insèrent ou mettent à jour des ressources.
Notez que si une requête de mise à jour ne spécifie pas de valeur pour une propriété de ressource qui avait précédemment une valeur, la valeur existante sera supprimée si les conditions suivantes sont remplies:
-
La valeur de la propriété peut être modifiée par la requête. Par exemple, lorsque vous mettez à jour une ressource
video
, vous pouvez mettre à jour la valeur de la propriétésnippet.description
, mais pas l'objetsnippet.thumbnails
. -
La valeur du paramètre
part
de la requête identifie la partie ressource qui contient la propriété.
Exemple
Par exemple, supposons que vous souhaitiez mettre à jour la ressource video
ci-dessous. Notez que toutes les propriétés présentées ci-dessous peuvent être mises à jour via l'API et que les propriétés de ressource non pertinentes dans l'exemple ont été omises.
{ "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 } }
Appelez la méthode videos.update
et définissez la valeur du paramètre part
sur snippet
. Le corps de la requête API contient la ressource suivante:
{ "snippet": { "title": "New video title", "tags": ["keyword1","keyword2","keyword3"], "categoryId: 22 } }
Cette demande met à jour le titre de la vidéo, supprime sa description et ne modifie pas ses tags ni son ID de catégorie. La description de la vidéo a été supprimée, car la requête ne spécifie aucune valeur pour la propriété snippet.description
.
Les propriétés de l'objet status
ne sont pas affectées, car la valeur du paramètre part
n'inclut pas status
dans l'une des parties que la requête mettrait à jour. En fait, si le corps de la requête API inclut l'objet status
, l'API renvoie une réponse HTTP 400 (Bad Request)
en raison de l'inclusion d'une partie inattendue dans le corps de la requête.