YouTube Reporting API と YouTube Analytics API は、非公開のユーザーデータへのアクセスを承認するための OAuth 2.0 プロトコルをサポートしています。 以下に、OAuth 2.0 の基本コンセプトの一部を示します。
-
Google Account or YouTube account へのログインを必要とする機能をユーザーが初めてアプリケーションで使用しようとすると、アプリケーションが OAuth 2.0 認証プロセスを開始します。
-
アプリケーションがユーザーを Google の承認サーバーに転送します。このページへのリンクは、ユーザーのアカウントにアプリケーションがリクエストしているアクセス権の
scope
を指定します。scope
は、アプリケーションが認証済みユーザーとして取得、挿入、更新、削除できるリソースを指定します。 -
アプリケーションがこれらのリソースにアクセスすることをユーザーが同意した場合、Google はアプリケーションにトークンを返します。アプリケーションの種類によって、トークンの検証または別の種類のトークンへの交換が行われます。
たとえばサーバーサイド ウェブ アプリケーションは、アクセス トークンと更新トークンについて返されたトークンを交換します。アプリケーションはアクセス トークンを使用してユーザーの代わりにリクエストを承認し、元のアクセス トークンの期限が切れると更新トークンを使用して新しいトークンを取得します。
重要: OAuth 2.0 認証を使用するには、Google API Console で認証情報を取得する必要があります。
OAuth 2.0 フロー
Google API は、次のような OAuth 2.0 のユースケースをサポートしています。
- サーバーサイド ウェブアプリのフローは、永続的な情報を安全に保存できるウェブ アプリケーションをサポートします。
- JavaScript ウェブアプリのフローは、ブラウザで実行される JavaScript アプリケーションをサポートします。
- モバイルアプリとデスクトップ アプリのフローは、スマートフォンやパソコンなどのデバイスにインストールされているアプリケーションをサポートします。
- テレビや入力が制限されているデバイス向けの OAuth 2.0 フローは、ゲーム機やビデオカメラなど、入力機能が限定されたデバイスに対応しています。 The YouTube Reporting and YouTube Analytics APIs do not currently support the OAuth 2.0 flow for devices.
- サービス アカウント フローの OAuth 2.0 フローは、ユーザー情報にアクセスしないサーバー間のやり取りをサポートします。 ただし、YouTube Reporting API と YouTube Analytics API はこのフローをサポートしていません。 Since there is no way to link a Service Account to a YouTube account, attempts to authorize requests with this flow will generate an error.
アクセス スコープを特定する
スコープを使用すると、アプリケーションは必要なリソースへのアクセスのみをリクエストできるだけでなく、 ユーザーがアプリケーションに付与するアクセス権の量を制御できます。したがって、 リクエストするスコープの数と、問題が発生する可能性と ユーザーの同意を得る
OAuth 2.0 認証の実装を開始する前に、 権限が必要であることを通知します。
YouTube Analytics API では、次のスコープを使用します。
スコープ | |
---|---|
https://www.googleapis.com/auth/youtube | YouTubeアカウントを管理する |
https://www.googleapis.com/auth/youtube.readonly | YouTubeアカウントを表示する |
https://www.googleapis.com/auth/youtubepartner | YouTubeでアセットと関連コンテンツを表示および管理する |
https://www.googleapis.com/auth/yt-analytics-monetary.readonly | YouTubeコンテンツの金銭的および非金銭的なYouTubeAnalyticsレポートを表示する |
https://www.googleapis.com/auth/yt-analytics.readonly | YouTubeコンテンツのYouTubeAnalyticsレポートを表示する |
YouTube Reporting API では次のスコープを使用します。
スコープ | |
---|---|
https://www.googleapis.com/auth/yt-analytics-monetary.readonly | YouTubeコンテンツの金銭的および非金銭的なYouTubeAnalyticsレポートを表示する |
https://www.googleapis.com/auth/yt-analytics.readonly | YouTubeコンテンツのYouTubeAnalyticsレポートを表示する |
OAuth 2.0 API スコープのドキュメントに、 Google API へのアクセスに使用できるスコープのリスト。