YouTube Reporting API 및 YouTube Analytics API는 비공개 사용자 데이터에 대한 액세스를 승인하기 위해 OAuth 2.0 프로토콜을 지원합니다.
다음 목록에서는 몇 가지 핵심 OAuth 2.0 개념을 설명합니다.
사용자가 Google Account or YouTube account에 로그인해야 하는 애플리케이션의 기능을 처음 사용하려고 하면 애플리케이션에서 OAuth 2.0 승인 프로세스를 시작합니다.
애플리케이션이 사용자를 Google 승인 서버로 안내합니다. 해당 페이지로 연결되는 링크는 애플리케이션이 사용자의 계정에 요청하는 액세스 권한의 scope을 지정합니다. scope는 인증된 사용자로 작동할 때 애플리케이션이 검색, 삽입, 업데이트 또는 삭제할 수 있는 리소스를 지정합니다.
사용자가 애플리케이션이 이러한 리소스에 액세스하도록 승인하는 데 동의하면 Google에서 애플리케이션에 토큰을 반환합니다. 애플리케이션 유형에 따라 토큰을 검증하거나 다른 유형의 토큰으로 교환합니다.
예를 들어 서버 측 웹 애플리케이션은 반환된 토큰을 액세스 토큰과 갱신 토큰으로 교환합니다. 액세스 토큰을 사용하면 애플리케이션이 사용자를 대신하여 요청을 인증할 수 있고, 갱신 토큰을 사용하면 기존의 액세스 토큰이 만료될 경우 애플리케이션이 새 액세스 토큰을 검색할 수 있습니다.
서버 측 웹 앱 흐름은 영구 정보를 안전하게 저장할 수 있는 웹 애플리케이션을 지원합니다.
JavaScript 웹 앱 흐름은 브라우저에서 실행되는 JavaScript 애플리케이션을 지원합니다.
모바일 및 데스크톱 앱 흐름은 휴대전화나 컴퓨터와 같은 기기에 설치된 애플리케이션을 지원합니다.
TV 및 제한된 입력 기기용 OAuth 2.0 흐름은 게임 콘솔, 비디오 카메라와 같이 입력 기능이 제한된 기기를 지원합니다.
The YouTube Reporting and YouTube Analytics APIs do not currently support the OAuth 2.0 flow for devices.
서비스 계정 흐름의 OAuth 2.0 흐름은 사용자 정보에 액세스하지 않는 서버 간 상호작용을 지원합니다.
하지만 YouTube Reporting API 및 YouTube Analytics API는 이 흐름을 지원하지 않습니다.
Since there is no way to link a Service Account to a YouTube account, attempts to authorize requests with this flow will generate an error.
액세스 범위 식별
범위를 사용 설정하면 애플리케이션은 필요한 리소스에 대한 액세스만 요청하고 사용자는 애플리케이션에 부여하는 액세스 양을 제어할 수 있습니다. 따라서 요청된 범위 수와 사용자 동의를 얻을 가능성 간에 역관계가 있을 수 있습니다.
OAuth 2.0 승인을 구현하기 전에 앱에서 액세스 권한이 필요한 범위를 지정하는 것이 좋습니다.
[null,null,["최종 업데이트: 2025-08-21(UTC)"],[[["\u003cp\u003eThe YouTube Reporting API and YouTube Analytics API utilize OAuth 2.0 for authorizing access to private user data.\u003c/p\u003e\n"],["\u003cp\u003eOAuth 2.0 requires user consent, and the scope requested determines the resources the application can access, with a possible inverse relationship between the number of scopes and the likelihood of consent.\u003c/p\u003e\n"],["\u003cp\u003eGoogle's OAuth 2.0 supports various flows including server-side web apps, JavaScript web apps, and mobile/desktop apps, but it doesn't support the device flow for YouTube Reporting and Analytics APIs, or the service account flow.\u003c/p\u003e\n"],["\u003cp\u003eBefore implementing OAuth 2.0, it's recommended to identify the necessary scopes, with specific scopes for the YouTube Analytics API and YouTube Reporting API being detailed, as well as a document containing a full list of possible scopes for Google APIs.\u003c/p\u003e\n"],["\u003cp\u003eIf your application uses scopes that permit access to certain user data, you might need to complete a verification process, especially if you encounter an "unverified app" warning.\u003c/p\u003e\n"]]],["OAuth 2.0 authorizes access to private YouTube user data. Applications initiate authorization, directing users to Google's server to specify access scopes. User consent grants a token, which can be exchanged for access and refresh tokens. Credentials must be obtained via the Google API Console. Supported flows include server-side, JavaScript, and mobile/desktop apps, but not limited-input devices or service accounts. Scopes, defined for YouTube Analytics and Reporting APIs, dictate resource access and influence user consent. Public apps accessing user data must undergo verification.\n"],null,["# Implement OAuth 2.0 Authorization\n\nThe YouTube Reporting API and YouTube Analytics API support 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/reporting/guides/registering_an_application).\n\nFor more details, see the [OAuth 2.0 Authorization Guide](https://developers.google.com/identity/protocols/oauth2).\n\nOAuth 2.0 flows\n---------------\n\nGoogle APIs support several OAuth 2.0 use cases:\n\n- The [server-side web apps](/youtube/reporting/guides/authorization/server-side-web-apps) flow supports web applications that can securely store persistent information.\n- The [JavaScript web apps](/youtube/reporting/guides/authorization/client-side-web-apps) flow supports JavaScript applications running in a browser.\n- The [mobile and desktop apps](/youtube/reporting/guides/authorization/installed-apps) flow supports applications installed on a device, such as a phone or computer.\n- The OAuth 2.0 flow for TVs and limited-input devices supports devices with limited input capabilities, such as game consoles and video cameras. The YouTube Reporting and YouTube Analytics APIs do not currently support the OAuth 2.0 flow for devices.\n- The OAuth 2.0 flow for service account flow supports server-to-server interactions that do not access user information. However, the YouTube Reporting API and YouTube Analytics API do 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 an error.\n\n### Identify access scopes\n\nScopes enable your application to only request access to the resources that it needs while also\nenabling users to control the amount of access that they grant to your application. Thus, there\nmay be an inverse relationship between the number of scopes requested and the likelihood of\nobtaining user consent.\n\nBefore you start implementing OAuth 2.0 authorization, we recommend that you identify the scopes\nthat your app will need permission to access.\n\nThe YouTube Analytics API uses the following scopes:\n\nThe YouTube Reporting API uses the following scopes:\n\nThe [OAuth 2.0 API Scopes](/identity/protocols/oauth2/scopes) document contains a full\nlist of scopes that you might use to access Google APIs.\n| If your public application uses scopes that permit access to certain user data, it must complete a verification process. If you see **unverified\n| app** on the screen when testing your application, you must submit a verification request to remove it. Find out more about [unverified apps](https://support.google.com/cloud/answer/7454865) and get answers to [frequently asked questions about app verification](https://support.google.com/cloud/answer/9110914) in the Help Center."]]