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 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.
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2024-07-29 UTC。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"必要な情報がない"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"複雑すぎる / 手順が多すぎる"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"最新ではない"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻訳に関する問題"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"サンプル / コードに問題がある"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"その他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"わかりやすい"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"問題の解決に役立った"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"その他"
}]
{"lastModified": "\u6700\u7d42\u66f4\u65b0\u65e5 2024-07-29 UTC\u3002"}
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2024-07-29 UTC。"]]