OAuth 2.0 認証の実装

YouTube Live Streaming API は、非公開のユーザーデータへのアクセスを承認するための OAuth 2.0 プロトコルをサポートしています。 次のリストは、OAuth 2.0 の主なコンセプトを説明したものです。

  • ユーザーが Google Account or YouTube account へのログインを必要とするアプリケーションの機能を初めて使用しようとすると、アプリケーションが OAuth 2.0 認証プロセスを開始します。

  • アプリケーションがユーザーを Google の承認サーバーに転送します。そのページへのリンクでは、アプリケーションがユーザーのアカウントに対してリクエストしているアクセスの scope を指定します。scope は、認証済みユーザーとして動作するときに、アプリケーションが取得、挿入、更新、削除できるリソースを指定します。

  • アプリケーションがこれらのリソースにアクセスすることをユーザーが同意した場合、Google はアプリケーションにトークンを返します。アプリケーションの種類によって、トークンの検証または別の種類のトークンへの交換が行われます。

    たとえばサーバーサイド ウェブ アプリケーションは、アクセス トークンと更新トークンについて返されたトークンを交換します。アプリケーションはアクセス トークンを使用してユーザーの代わりにリクエストを承認し、元のアクセス トークンの期限が切れると更新トークンを使用して新しいトークンを取得します。

重要: OAuth 2.0 認証を使用するには、Google Cloud コンソールで認証情報を取得する必要があります。

詳しくは、OAuth 2.0 認可ガイドをご覧ください。

注: チャンネル所有者がそのチャンネルにライブ コンテンツを配信できるようにするには、YouTube ライブ機能の使用が承認されている必要があります。チャンネルでライブ コンテンツのストリーミングが有効になっていない、またはストリーミングの対象になっていない認証済みユーザーに代わって API リクエストを送信すると、API から insufficientPermissions エラーが返されます。

OAuth 2.0 フロー

Google API は、いくつかの OAuth 2.0 ユースケースをサポートしています。

  • サーバーサイド ウェブアプリのフローは、永続的な情報を安全に保存できるウェブ アプリケーションをサポートしています。
  • JavaScript ウェブアプリのフローは、ブラウザで実行される JavaScript アプリケーションをサポートしています。
  • モバイルアプリとデスクトップ アプリのフローは、スマートフォンやパソコンなどのデバイスにインストールされたアプリをサポートします。
  • テレビと入力デバイスが限られたデバイスの手順は、ゲーム機やビデオカメラなど、入力機能が限られたデバイスをサポートします。
  • サービス アカウント フローの OAuth 2.0 フローは、ユーザー情報にアクセスしないサーバー間インタラクションをサポートしています。ただし、YouTube Live Streaming API はこのフローをサポートしていません。Since there is no way to link a Service Account to a YouTube account, attempts to authorize requests with this flow will generate a NoLinkedYouTubeAccount error.