实现 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 会向您的应用返回一个令牌。它会根据应用的类型验证令牌或将其换成其他类型的令牌。
例如,服务器端 Web 应用可将返回的令牌交换为访问令牌和刷新令牌。访问令牌可让应用代表用户授权请求,刷新令牌可让应用在原始访问令牌到期时检索新的访问令牌。
重要提示:如需使用 OAuth 2.0 授权,您需要在 Google API 控制台中获取授权凭据。
如需了解详情,请参阅 OAuth 2.0 授权指南。
注意:频道必须获得批准才能使用 YouTube 直播功能,频道所有者才能通过该功能向频道直播内容。如果您代表频道未启用或不符合直播内容直播条件的已验证用户发送 API 请求,则该 API 将返回 insufficientPermissions
错误。
OAuth 2.0 流程
Google API 支持多种 OAuth 2.0 用例:
- 服务器端 Web 应用流程支持可安全存储永久性信息的 Web 应用。
- JavaScript Web 应用流程支持在浏览器中运行的 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 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-11-05。
[null,null,["最后更新时间 (UTC):2024-11-05。"],[[["\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."]]