YouTube ショート動画の視聴回数のカウント方法に合わせて、Data API を更新します。
詳細
実装: 部分レスポンス
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
次の例は、YouTube Data API(v3)で部分的な API レスポンスを取得する方法を示しています。
注: API のスタートガイドでは、部分リクエストと部分レスポンスの詳細を確認できます。
v3 API では、部分的なリソースの取得が許可されており、実際には必要なデータの転送、解析、保存を回避するために必要とされています。このアプローチにより、API はネットワーク、CPU}、メモリの各リソースをより効率的に使用できます。
この API は、part
と fields
の 2 つのリクエスト パラメータをサポートしています。これにより、API レスポンスに含めるリソース プロパティを指定できます。part
パラメータは、リソースを挿入または更新する API リクエストで設定する必要があるプロパティも識別します。
更新リクエストで、以前に値が設定されていたリソース プロパティの値が指定されていない場合、次の条件が満たされると既存の値が削除されます。
例
たとえば、次に示す video
リソースを更新するとします。(以下に示すプロパティはすべて API を介して更新できます。また、例に関連しないリソース プロパティは省略されています)。
{
"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
}
}
videos.update
メソッドを呼び出し、part
パラメータ値を snippet
に設定します。API リクエストの本文には、次のリソースが含まれます。
{
"snippet": {
"title": "New video title",
"tags": ["keyword1","keyword2","keyword3"],
"categoryId: 22
}
}
このリクエストは、動画のタイトルを更新し、説明を削除します。タグやカテゴリ ID は変更されません。リクエストで snippet.description
プロパティの値が指定されていないため、動画の説明が削除されます。
part
パラメータ値に、リクエストで更新される部分として status
が含まれていないため、status
オブジェクトのプロパティはまったく影響を受けません。実際、API リクエストの本文に status
オブジェクトが含まれている場合、リクエスト本文に予期しない部分が含まれているため、API は 400 (Bad Request)
HTTP レスポンスを返します。
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2024-11-23 UTC。
[null,null,["最終更新日 2024-11-23 UTC。"],[[["\u003cp\u003eThe YouTube Data API (v3) requires retrieving partial resources to optimize data transfer, parsing, and storage.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003epart\u003c/code\u003e and \u003ccode\u003efields\u003c/code\u003e parameters enable users to specify which resource properties to include in API responses.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003epart\u003c/code\u003e parameter also dictates which properties are set during resource insertion or update requests.\u003c/p\u003e\n"],["\u003cp\u003eOmitting a previously valued property in an update request, within the specified \u003ccode\u003epart\u003c/code\u003e, will delete that property's value if modifiable.\u003c/p\u003e\n"],["\u003cp\u003eIncluding unexpected parts in an update request's body, meaning a part not listed in the \u003ccode\u003epart\u003c/code\u003e parameter, will result in a \u003ccode\u003e400 (Bad Request)\u003c/code\u003e HTTP response.\u003c/p\u003e\n"]]],["The YouTube Data API (v3) uses `part` and `fields` parameters to enable partial resource retrieval, improving efficiency by avoiding unnecessary data transfer. The `part` parameter identifies properties for retrieval and modification. When updating, omitting a previously valued property in the specified `part` results in its deletion. For example, updating a video resource's `snippet` part without including `description` deletes the description. Updating a property that is not in the part of the request being modified is not possible.\n"],null,["# Implementation: Partial responses\n\nThe following examples show how to retrieve partial API responses in the YouTube Data API (v3).\n\n**Note:** The API's [getting started](/youtube/v3/getting-started#partial) guide provides more detail about partial requests and responses.\n\nThe v3 API allows, and actually requires, the retrieval of partial resources so that applications avoid transferring, parsing, and storing unneeded data. This approach also ensures that the API uses network, CPU, and memory resources more efficiently.\n\nThe API supports two request parameters, `part` and `fields`, that enable you to identify the resource properties that should be included in API responses. The `part` parameter also identifies the properties that should be set by API requests that insert or update resources.\n\nNote that if an update request does not specify a value for a resource property that previously had a value, the existing value will be deleted if the following conditions are true:\n\n- The property's value can be modified by the request. (For example, when updating a `video` resource, you can update the value of the `snippet.description` property, but you cannot update the value of the `snippet.thumbnails` object.\n\n- The request's `part` parameter value identifies the resource part that contains the property.\n\n#### Example\n\nFor example, suppose you want to update the `video` resource shown below. (Note that all of the properties shown below can be updated via the API, and resource properties not relevant to the example have been omitted.) \n\n```\n{\n \"snippet\": {\n \"title\": \"Old video title\",\n \"description\": \"Old video description\",\n \"tags\": [\"keyword1\",\"keyword2\",\"keyword3\"],\n \"categoryId: 22\n },\n \"status\": {\n \"privacyStatus\": \"private\",\n \"publishAt\": \"2014-09-01T12:00:00.0Z\",\n \"license\": \"youtube\",\n \"embeddable\": True,\n \"publicStatsViewable\": True\n }\n}\n```\n\nYou call the [videos.update](/youtube/v3/docs/videos/update) method and set the `part` parameter value to `snippet`. The body of the API request contains the following resource: \n\n```\n{\n \"snippet\": {\n \"title\": \"New video title\",\n \"tags\": [\"keyword1\",\"keyword2\",\"keyword3\"],\n \"categoryId: 22\n }\n}\n```\n\nThis request updates the video's title, deletes its description, and does not change its tags or category ID. The video's description is deleted because the request does not specify a value for the `snippet.description` property.\n\nThe properties in the `status` object are not affected at all because the `part` parameter value did not include `status` as one of the parts that the request would update. In fact, if the body of the API request included the `status` object, the API would return a `400 (Bad Request)` HTTP response due to an [unexpected part](/youtube/v3/docs/errors#youtube.api.RequestContextError-badRequest-unexpectedPart) being included in the request body."]]