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 Cloud 콘솔에서 승인 사용자 인증 정보를 가져와야 합니다.
자세한 내용은 OAuth 2.0 승인 가이드를 참고하세요.
참고: 채널 소유자가 해당 채널에 실시간 콘텐츠를 스트리밍할 수 있도록 하는 YouTube Live
기능을 사용하려면 채널이 승인을 받아야 합니다. 채널이 실시간 콘텐츠를 스트리밍할 수 없거나 스트리밍할 자격이 없는 인증된 사용자를 대신하여 API
요청을 보내면 API에서 insufficientPermissions 오류를 반환합니다.
OAuth 2.0 플로우
Google API는 다음과 같은 여러 OAuth 2.0 사용 사례를 지원합니다.
- 서버 측 웹 앱 플로우는 지속적인 정보를 안전하게 저장할 수 있는 웹 애플리케이션을 지원합니다.
- JavaScript 웹 앱 플로우는 브라우저에서 실행되는 JavaScript 애플리케이션을 지원합니다.
- 모바일 및 데스크톱 앱 플로우는 휴대전화 또는 컴퓨터와 같은 기기에 설치된 애플리케이션을 지원합니다.
- TV 및 입력 제한 기기 플로우는 게임 콘솔 및 비디오 카메라와 같이 입력 기능이 제한된 기기를 지원합니다.
- 서비스 계정 플로우의 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
NoLinkedYouTubeAccounterror.