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 API Console で認可認証情報を取得する必要があります。
詳しくは、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.
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2024-11-05 UTC。
[null,null,["最終更新日 2024-11-05 UTC。"],[[["\u003cp\u003eThe YouTube Live Streaming API uses OAuth 2.0 for authorizing access to private user data, requiring an application to initiate the authorization process when a user attempts to use features needing a Google or YouTube account.\u003c/p\u003e\n"],["\u003cp\u003eDuring OAuth 2.0 authorization, the application directs the user to Google's authorization server, where the requested access scope is defined, specifying which resources the application can interact with.\u003c/p\u003e\n"],["\u003cp\u003eUpon user consent, Google returns a token to the application, which may be exchanged for an access token and a refresh token, enabling the application to make authorized requests and renew authorization when needed.\u003c/p\u003e\n"],["\u003cp\u003eTo utilize OAuth 2.0 Authorization, you must obtain authorization credentials from the Google API Console.\u003c/p\u003e\n"],["\u003cp\u003eThe YouTube Live Streaming API supports several OAuth 2.0 flows, but does not support the Service Account flow.\u003c/p\u003e\n"]]],["The YouTube Live Streaming API utilizes OAuth 2.0 for authorizing access to user data. Applications initiate authorization, redirecting users to Google's server to define access scope. Upon user consent, Google issues a token; web apps exchange this for access and refresh tokens. Developers must obtain authorization credentials from the Google API Console. Different flows support various application types, but the service account flow is not compatible with the YouTube Live Streaming API. Channels must also be approved to enable live streaming.\n"],null,["# Implementing OAuth 2.0 Authentication\n\nThe YouTube Live Streaming API supports the [OAuth 2.0 protocol](http://oauth.net/2/) for authorizing access to private user data.\n\nThe following list explains some core OAuth 2.0 concepts:\n\n- When a user first attempts to use features in your application that requires the user to be logged in to a Google Account or YouTube account, your application initiates the OAuth 2.0 authorization process.\n\n- Your application directs the user to Google's authorization server. The link to that page specifies the **scope** of access that your application is requesting for the user's account. The **scope** specifies the resources that your application can retrieve, insert, update, or delete when acting as the authenticated user.\n\n- If the user consents to authorize your application to access those resources, Google returns a token to your application. Depending on your application's type, it either validates the token or exchanges it for a different type of token.\n\n For example, a server-side web application exchanges the returned token for an access token and a refresh token. The access token lets the application authorize requests on the user's behalf, and the refresh token lets the application retrieve a new access token when the original access token expires.\n\n**Important:** To use the OAuth 2.0 Authorization, you need to [obtain authorization credentials in the Google API Console](/youtube/v3/live/registering_an_application).\n\nFor more details, see the [OAuth 2.0 Authorization Guide](https://developers.google.com/identity/protocols/oauth2).\n\n**Note:** A channel must be approved to use the YouTube Live\nfeature, which enables the channel owner to stream live content to that channel. If you send API\nrequests on behalf of an authenticated user whose channel is not enabled or eligible to stream\nlive content, the API will return an `insufficientPermissions` error.\n\nOAuth 2.0 flows\n---------------\n\nGoogle APIs support several OAuth 2.0 use cases:\n\n- The [server-side web apps](/youtube/v3/live/guides/auth/server-side-web-apps) flow supports web applications that can securely store persistent information.\n- The [JavaScript web apps](/youtube/v3/live/guides/auth/client-side-web-apps) flow supports JavaScript applications running in a browser.\n- The [mobile and desktop apps](/youtube/v3/live/guides/auth/installed-apps) flow supports applications installed on a device, such as a phone or computer.\n- The [TVs and limited-input devices](/youtube/v3/live/guides/auth/devices) flow supports devices with limited input capabilities, such as game consoles and video cameras.\n- The OAuth 2.0 flow for service account flow supports server-to-server interactions that do not access user information. However, the YouTube Live Streaming API does not support this flow. 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."]]