Mise en œuvre: réponses partielles

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'objet snippet.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.