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 API Console で認証情報を取得する必要があります。
OAuth 2.0 フロー
Google API は、いくつかの OAuth 2.0 ユースケースをサポートしています。
- サーバーサイド ウェブアプリのフローでは、永続的な情報を安全に保存できるウェブ アプリケーションがサポートされています。
- JavaScript ウェブアプリのフローは、ブラウザで実行される JavaScript アプリケーションに対応しています。
- モバイルアプリとデスクトップ アプリのフローでは、スマートフォンやパソコンなどのデバイスにインストールされているアプリケーションがサポートされます。
- テレビと制限付き入力デバイスのフローは、ゲーム機やビデオカメラなど、入力機能が制限されたデバイスをサポートします。
- サービス アカウント フロー用の OAuth 2.0 フローは、ユーザー情報にアクセスしないサーバー間インタラクションをサポートします。
ただし、YouTube Data 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.