Channels: update

API で、チャンネルまたは 動画を「子ども向け」としてマークできるようになりました。また、channel と video リソースに、チャンネルまたは動画の「子ども向け」 ステータスを示すプロパティが追加されました。YouTube API サービス利用規約とデベロッパー ポリシー も 2020 年 1 月 10 日に更新されました。詳しくは、 YouTube Data API サービスと YouTube API サービス利用規約の変更履歴をご覧ください。

チャンネルのメタデータを更新します。このメソッドは、channel リソースの brandingSettings オブジェクト、invideoPromotion オブジェクト、localizations オブジェクトとその子プロパティの更新のみをサポートしています。

割り当てへの影響: このメソッドの呼び出しには 50 ユニットの割り当てコストがかかります。

一般的なユースケース

リクエスト

HTTP リクエスト

PUT https://www.googleapis.com/youtube/v3/channels

承認

このリクエストには、次のスコープのいずれかを使用した承認が必要です。認証と認可について詳しくは、OAuth 2.0 認可の実装をご覧ください。

スコープ
https://www.googleapis.com/auth/youtubepartner
https://www.googleapis.com/auth/youtube
https://www.googleapis.com/auth/youtube.force-ssl

パラメータ

次の表に、このクエリでサポートされているパラメータを示します。このリストのパラメータはすべてクエリ パラメータです。

パラメータ
必須パラメータ
part string
part パラメータには、このオペレーションで 2 つの目的があります。書き込みオペレーションで設定するプロパティと、API レスポンスに含めるプロパティを識別します。

API では、パラメータ値を brandingSettings、invideoPromotion、localizations のいずれかに設定することのみが許可されています。(1 つのリクエストで更新できるのは、これらのパーツのいずれか 1 つのみです)。

このメソッドは、パラメータ値で指定されたパーツに含まれる変更可能なプロパティの既存の値をすべてオーバーライドします。
オプション パラメータ
onBehalfOfContentOwner string
このパラメータは、適切に認可されたリクエストでのみ使用できます。

このonBehalfOfContentOwnerパラメータは、認証されたユーザーがパラメータ値で指定されたコンテンツ所有者の代理として行動していることを示します。このパラメータは、複数の YouTube チャンネルを所有、管理している YouTube コンテンツ パートナーを対象にしています。このパラメータを使用すると、コンテンツ所有者は一度認証されれば、すべての動画やチャンネル データにアクセスできるようになります。チャンネルごとに認証情報を指定する必要はありません。ユーザーが認証に使用する実際の CMS アカウントは、指定された YouTube コンテンツ所有者にリンクされている必要があります。

リクエストが、管理対象チャンネルで行動する CMS コンテンツ所有者ユーザーの認証情報で認証されている場合は、このパラメータを指定する必要があります。省略すると、リクエストは認証されたユーザーの直接のコンテキストで実行され、HTTP 403 Forbidden エラーが返されます。

リクエストの本文

リクエストの本文に channel リソースを指定します。 そのリソースの場合:

  • 以下のプロパティの値を指定する必要があります。

    • id
  • 以下のプロパティの値を指定することができます。

    • brandingSettings.channel.country
    • brandingSettings.channel.description
    • brandingSettings.channel.defaultLanguage
    • brandingSettings.channel.keywords
    • brandingSettings.channel.trackingAnalyticsAccountId
    • brandingSettings.channel.unsubscribedTrailer
    • localizations.(key)
    • localizations.(key).title
    • localizations.(key).description
    • status.selfDeclaredMadeForKids

    更新リクエストを送信する場合、既に値が設定されているプロパティの値を指定していないと、そのプロパティの既存の値が削除されます。

レスポンス

成功すると、このメソッドはレスポンスの本文に channel リソースを返します。

エラー

次の表に、このメソッドの呼び出しに応じて API が返す可能性があるエラー メッセージを示します。詳しくは、YouTube Data API - エラーをご覧ください。

エラーのタイプ エラーの詳細 説明
badRequest (400) brandingValidationError brandingSettings オブジェクトの値のいずれかが検証に失敗しました。channels.list メソッドを使用してチャンネルの既存の設定を取得し、channels リソースのドキュメントのガイドラインに沿ってプロパティ値を更新します。
badRequest (400) channelTitleUpdateForbidden チャンネルの brandingSettings part を更新する場合は、brandingSettings.channel.title プロパティの値をチャンネルの現在のタイトルに設定するか、プロパティを省略する必要があります。プロパティの値を変更すると、API はエラーを返します。
badRequest (400) defaultLanguageNotSetError localizations を更新するには、defaultLanguage を設定する必要があります。
badRequest (400) invalidBrandingOption 指定したブランド設定のいずれかが存在しません。channels.list メソッドを使用して有効な値を取得し、channels リソースのドキュメントのガイドラインに沿って更新してください。
badRequest (400) invalidCustomMessage リクエスト メタデータで無効なカスタム メッセージが指定されています。リクエストで送信されたリソースの invideoPromotion.items[].customMessage プロパティの値を確認してください。
badRequest (400) invalidDuration リクエスト メタデータで、invideoPromotion パーツに無効な期間が指定されています。
badRequest (400) invalidDuration 動画プレーヤーでのプロモート アイテムの配置方法を決定するための、リクエスト メタデータにより指定されている位置タイプが無効です。リクエストで送信されたリソースの invideoPromotion.position.type プロパティの値を確認してください。
badRequest (400) invalidRecentlyUploadedBy リクエスト メタデータで無効なチャンネル ID が指定されています。リクエストで送信されたリソースの invideoPromotion.items[].id.recentlyUploadedBy プロパティの値を確認してください。
badRequest (400) invalidTimingOffset リクエスト メタデータで、invideoPromotion パーツに無効な時間オフセットが指定されています。
badRequest (400) invalidTimingOffset リクエスト メタデータで、動画プレーヤーにプロモート アイテムを表示するタイミングを決定するための無効な時間オフセットが指定されています。リクエストで送信されたリソースの invideoPromotion.timing.offsetMs プロパティの値を確認してください。
badRequest (400) invalidTimingType リクエスト メタデータが、動画プレーヤーにプロモート アイテムを表示するタイミングを決定するために指定しているタイミング メソッドが無効です。リクエストで送信されたリソースの invideoPromotion.timing.type プロパティの値を確認してください。
badRequest (400) localizationValidationError localizations オブジェクトの値のいずれかが検証に失敗しました。channels.list メソッドを使用して有効な値を取得し、チャンネル リソースのドキュメントのガイドラインに沿って更新してください。
badRequest (400) tooManyPromotedItems invideoPromotion パーツで、許可されているプロモート アイテムの数を超えています。
forbidden (403) channelForbidden id パラメータで指定されたチャンネルがリクエストをサポートしていないか、リクエストが適切に認可されていません。
forbidden (403) promotedVideoNotAllowed API リクエストが更新しようとしているチャンネルが見つかりません。リクエストで送信された channel リソースの id プロパティの値を確認して、チャンネル ID が正しいことを確認してください。
forbidden (403) websiteLinkNotAllowed 指定されたウェブサイトの URL は許可されていません。
notFound (404) channelNotFound id パラメータで指定されたチャンネルが見つかりません。
notFound (404) channelNotFound id パラメータで指定されたチャンネルが見つからないか、ブランド設定オプションがありません。
notFound (404) unknownChannelId 指定されたチャンネル ID が見つかりませんでした。
notFound (404) unknownChannelId 指定された recentlyUploadedBy チャンネル ID が見つかりませんでした。
notFound (404) unknownVideoId プロモート アイテムとして指定された動画 IDが見つかりません。
required (400) requiredItemIdType リクエスト メタデータで、invideoPromotion パーツに商品アイテム タイプを指定する必要があります。
required (400) requiredItemId リクエスト メタデータで、invideoPromotion パーツに商品アイテム ID を指定する必要があります。
required (400) requiredTimingOffset リクエスト メタデータでデフォルトのタイミング オフセットを指定して、プロモート アイテムを表示するタイミングを YouTube が判断できるようにする必要があります。リクエストで送信されるリソースの invideoPromotion.defaultTiming.offsetMs プロパティの値を設定します。
required (400) requiredTimingOffset リクエスト メタデータで時間オフセットを指定して、プロモート アイテムを表示するタイミングを YouTube が判断できるようにする必要があります。リクエストで送信されるリソースの invideoPromotion.timing.offsetMs プロパティの値を設定します。
required (400) requiredTimingType リクエスト メタデータでタイミング メソッドを指定して、プロモート アイテムを表示するタイミングを YouTube が判断できるようにする必要があります。リクエストで送信されるリソースの invideoPromotion.defaultTiming.type プロパティの値を設定します。
required (400) requiredTimingType リクエスト メタデータでタイミング メソッドを指定して、プロモート アイテムを表示するタイミングを YouTube が判断できるようにする必要があります。リクエストで送信されるリソースの invideoPromotion.timing.type プロパティの値を設定します。
required (400) requiredTiming リクエスト メタデータで、invideoPromotion パーツの各アイテムのタイミングを指定する必要があります。
required (400) requiredVideoId プロモート アイテムを特定するため、リクエスト メタデータには動画 IDを指定する必要があります。
required (400) requiredWebsiteUrl リクエスト メタデータで、invideoPromotion パーツにウェブサイトの URL を指定する必要があります。リクエストで送信されるリソースの invideoPromotion.items[].id.websiteUrl プロパティの値を設定します。

試してみよう:

APIs Explorer を使用してこの API を呼び出し、API リクエストとレスポンスを確認します。