OAuth 2.0 認証を実装する

その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 コンソールで認証情報を取得する必要があります。

詳細については、OAuth 2.0 認可ガイドをご覧ください。

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 アナリティクス 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 コンテンツに関する YouTube アナリティクスの収益レポートと非収益レポートの表示
https://www.googleapis.com/auth/yt-analytics.readonly YouTube コンテンツの YouTube アナリティクス レポートの表示

YouTube Reporting API では、次のスコープが使用されます。

範囲 説明
https://www.googleapis.com/auth/yt-analytics-monetary.readonly YouTube コンテンツに関する YouTube アナリティクスの収益レポートと非収益レポートの表示
https://www.googleapis.com/auth/yt-analytics.readonly YouTube コンテンツの YouTube アナリティクス レポートの表示

OAuth 2.0 API スコープのドキュメントには、Google API へのアクセスに使用できるスコープの完全なリストが記載されています。