7

CMS アカウントを使用して YouTube アナリティクス API データを取得しようとすると、403 Forbidden エラーが発生します。

念のために言っておきますが、CMS アカウントはサービス アカウントと同じものですか?

oauth2 ユーザーが所有するチャネルの分析データを取得できますが、CMS アカウントを介してアクセスできるがコンテンツ所有者ではない他のチャネルで 403 を取得します。(CMS アカウントに管理者アカウント レベルがあり、403 エラーが発生するチャネルには「管理対象」関係があります)

質問: CMS アカウントで管理されているチャンネルをクエリするための youtube.analytics API のサポートを予定していますか?

そのアカウントを使用して、CMS UI を使用してこれらのチャネルのすべての分析データを取得できるので、API を使用して同じことができるはずです。

4

1 に答える 1

11

YouTube コンテンツ管理システム アカウントは、サービス アカウントとは異なります。サービス アカウントとして認証した場合、YouTube API を使用することはできません。そのサービス アカウントは実際の YouTube チャンネルにアクセスできないためです。ただし、CMS アカウントとして認証すると、必要なものが得られます。

これの多くは最近本番環境に移行したので、YouTube CMS へのアクセス権を持つユーザーが、管理しているチャンネルと動画に対して YouTube アナリティクス API レポートを実行する方法を説明する完全な手順をここで説明します。

(オプション) OAuth 2 を介して CMS アカウントとして承認されている間に、 と の両方のスコープを使用https://www.googleapis.com/auth/youtube.readonlyhttps://www.googleapis.com/auth/youtubepartnerて、次のパラメーターを使用して YouTube Data API v3 channels.list ()呼び出しを行います: part=snippet,contentDetailsmanagedByMe=true、。は、ここでハードコーディングする必要がある 1 つの値であり、YouTube CMS アカウントの「パートナー コード」に設定する必要があります。これにより、CMS アカウントが管理する最大 50 のチャネルのリストが返されます。(50 個以上が必要な場合は、結果をページングする必要があります。) 各チャンネルの ID はchannel.idに返され、その他の有用な情報 (リストを取得する場合は、アップロード リスト ID など)が返されます。そのチャンネルのビデオの数) も返されます。maxResults=50onBehalfOfContentOwner=CONTENT_OWNER_IDCONTENT_OWNER_ID

UC...レポートを実行するチャネルのチャネル IDが既にわかっている場合は、その手順をスキップして、Analytics レポートに直接移動できます。

マネージド チャンネルでチャンネル レベルのレポートを実行するには、CMS アカウントとして承認されている間に、次のパラメータを使用してYouTube アナリティクス API リクエストを行います: ids=contentOwner==CONTENT_OWNER_IDfilters=channel==UC...、およびその他の必要なレポート パラメータ。

動画レベルのレポートを実行するには、 と を設定ids=contentOwner==CONTENT_OWNER_IDしますfilters=video==VIDEO_ID。ここVIDEO_IDで、 は CMS アカウントが管理する任意のチャネル内の任意の動画の ID です。

コンテンツ所有者レポートの詳細については、ドキュメントをご覧ください。

于 2013-03-27T20:41:31.743 に答える