Implementierung: Teilantworten

Die folgenden Beispiele zeigen, wie Teil-API-Antworten in der YouTube Data API (v3) abgerufen werden.

Hinweis: Weitere Informationen zu Teilanfragen und -antworten finden Sie im Startleitfaden für die API.

Die API v3 ermöglicht und erfordert das Abrufen von Teilressourcen, damit Anwendungen nicht benötigte Daten übertragen, parsen und speichern können. Dieser Ansatz gewährleistet auch, dass die API Netzwerk-, CPU- und Arbeitsspeicherressourcen effizienter nutzt.

Die API unterstützt zwei Anfrageparameter, part und fields, mit denen Sie die Ressourcenattribute angeben können, die in API-Antworten enthalten sein sollen. Der Parameter part gibt auch die Attribute an, die von API-Anfragen zum Einfügen oder Aktualisieren von Ressourcen festgelegt werden sollten.

Wenn in einer Aktualisierungsanfrage kein Wert für ein Ressourcenattribut angegeben ist, das zuvor einen Wert hatte, wird der vorhandene Wert gelöscht, wenn die folgenden Bedingungen erfüllt sind:

  • Der Wert der Eigenschaft kann von der Anfrage geändert werden. (Wenn Sie beispielsweise eine video-Ressource aktualisieren, können Sie den Wert der snippet.description-Property aktualisieren, aber nicht den Wert des snippet.thumbnails-Objekts.

  • Der Wert des Parameters part der Anfrage gibt den Ressourcenteil an, der das Attribut enthält.

Beispiel

Angenommen, Sie möchten die unten gezeigte Ressource video aktualisieren. Beachten Sie, dass alle unten aufgeführten Attribute über die API aktualisiert werden können und dass Ressourcenattribute, die für das Beispiel nicht relevant sind, ausgelassen wurden.

{
  "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
  }
}

Sie rufen die Methode videos.update auf und setzen den Parameterwert part auf snippet. Der Text der API-Anfrage enthält die folgende Ressource:

{
  "snippet": {
    "title": "New video title",
    "tags": ["keyword1","keyword2","keyword3"],
    "categoryId: 22
  }
}

Durch diese Anfrage wird der Titel des Videos aktualisiert, die Beschreibung gelöscht und die Tags oder die Kategorie-ID werden nicht geändert. Die Beschreibung des Videos wurde gelöscht, weil in der Anfrage kein Wert für die snippet.description-Property angegeben ist.

Die Eigenschaften im Objekt status sind überhaupt nicht betroffen, da der Wert des Parameters part status nicht als Teil der Aktualisierung enthält. Wenn der Text der API-Anfrage das Objekt status enthält, gibt die API eine HTTP-Antwort vom Typ 400 (Bad Request) zurück, da ein unerwarteter Teil im Anfragetext enthalten ist.