OAuth 2.0 認証の実装

YouTube Data API は、非公開のユーザー データヘのアクセスを承認するための OAuth 2.0 プロトコルをサポートしています。OAuth 2.0 の中心的な概念は以下のとおりです。

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

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

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

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

重要: OAuth 2.0 承認を使用するには、アプリケーションを Google に登録する必要があります。

OAuth 2.0 のフロー

Google API は OAuth 2.0 の使用事例を複数サポートしています。

  • サーバーサイドのフローは、永続的な情報をセキュアに格納できるウェブ アプリケーションをサポートします。
  • クライアントサイドのフローは、ブラウザで実行される JavaScript アプリケーションをサポートします。
  • インストール済みのアプリケーションのフローは、電話やパソコンなどのデバイスにインストールされたアプリケーションをサポートします。
  • デバイスのフローは、入力機能が限定されたゲーム機やビデオ カメラなどのデバイスをサポートします。
  • サービス アカウントのフローは、ユーザー情報にアクセスしないサーバー間通信をサポートします。ただし、YouTube Data API ではこのフローはサポートされていません。 サービス アカウントを YouTube アカウントにリンクする方法はないため、このフローでリクエストを認証しようとすると NoLinkedYouTubeAccount エラーが生成されます。