Mettre en œuvre l'authentification OAuth 2.0
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
YouTube Live Streaming API est compatible avec le protocole OAuth 2.0 pour autoriser l'accès aux données utilisateur privées.
La liste ci-dessous explique certains concepts de base de OAuth 2.0 :
-
Lorsqu'un utilisateur tente pour la première fois d'utiliser une fonctionnalité de votre application qui nécessite qu'il soit connecté à un Google Account or YouTube account, votre application lance le processus d'autorisation OAuth 2.0.
-
Votre application redirige l'utilisateur vers le serveur d'autorisation de Google. Le lien vers cette page spécifie le scope
d'accès que votre application demande pour le compte de l'utilisateur. scope
spécifie les ressources que votre application peut récupérer, insérer, mettre à jour ou supprimer lorsqu'elle agit en tant qu'utilisateur authentifié.
-
Si l'utilisateur autorise votre application à accéder à ces ressources, Google renvoie un jeton à votre application. Selon le type de votre application, elle valide le jeton ou l'échange contre un autre type de jeton.
Par exemple, une application Web côté serveur échange le jeton renvoyé contre un jeton d'accès et un jeton d'actualisation. Le jeton d'accès permet à l'application d'autoriser les requêtes au nom de l'utilisateur, et le jeton d'actualisation permet à l'application de récupérer un nouveau jeton d'accès lorsque le jeton d'accès d'origine expire.
Important:Pour utiliser l'autorisation OAuth 2.0, vous devez obtenir des identifiants d'autorisation dans la console Google APIs.
Pour en savoir plus, consultez le guide d'autorisation OAuth 2.0.
Remarque : Une chaîne doit être approuvée pour utiliser la fonctionnalité YouTube En direct, qui permet au propriétaire de la chaîne de diffuser du contenu en direct sur cette chaîne. Si vous envoyez des requêtes API au nom d'un utilisateur authentifié dont la chaîne n'est pas activée ou n'est pas éligible au streaming de contenu en direct, l'API renvoie une erreur insufficientPermissions
.
Flux OAuth 2.0
Les API Google sont compatibles avec plusieurs cas d'utilisation OAuth 2.0 :
- Le flux Applications Web côté serveur est compatible avec les applications Web pouvant stocker des informations persistantes de manière sécurisée.
- Le flux d'applications Web JavaScript est compatible avec les applications JavaScript exécutées dans un navigateur.
- Le flux Applications mobiles et pour ordinateur est compatible avec les applications installées sur un appareil, comme un téléphone ou un ordinateur.
- Le flux Téléviseurs et appareils à entrée limitée est compatible avec les appareils dont les fonctionnalités d'entrée sont limitées, comme les consoles de jeu et les caméras vidéo.
- Le flux OAuth 2.0 pour le compte de service est compatible avec les interactions de serveur à serveur qui n'accèdent pas aux informations utilisateur.
Cependant, YouTube Live Streaming API n'est pas compatible avec ce flux.
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.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2024/11/05 (UTC).
[null,null,["Dernière mise à jour le 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."]]