EunsooD

구글 OAuth2 통해서 로그인 - Youtube 채널 ID 가져오기까지 본문

STUDY

구글 OAuth2 통해서 로그인 - Youtube 채널 ID 가져오기까지

EunsooD 2019. 8. 13. 16:17
반응형

디테일한 순서는 아래에 기록하겠지만

큰 순서는 다음과 같다.

구글 인증 설정 -> 구글 로그인 -> 승인 코드 발급 -> 코드로 액세스 토큰 발급 -> 액세스 토큰으로 Youtube Channel ID 받음

 

1)

우선 Google 클라우드 콘솔에 가서 설정해야한다.

https://console.cloud.google.com/

 

2)

클라우드 콘솔 페이지 접속해보면

"API 및 서비스" -> "사용자 인증 정보" -> 사용자 인증 정보 만들기 -> OAuth 클라이언트 ID

생성한다.

( 프로젝트가 없으면 프로젝트 부터 생성하고, Youtube API 사용을 활성화 한다. )

 

3)

웹 애플리케이션 클라이언트 ID가 생성된다.

 

4)

아래와 같은 주소로 요청 페이지를 만든다.

(풀어서 기록함)

https://accounts.google.com/o/oauth2/v2/auth?
redirect_uri={승인된 리디렉션 URI} &
response_type=code&
client_id={클라이언트ID}&
scope=https://www.googleapis.com/auth/youtube.readonly &
access_type=offline

 

5)

해당 페이지로 구글승인 받아서 로그인을 하게되면 주소가 다음과 같이 생성되면서 넘어간다.

 

{승인된 리디렉션 URI}/?code={리턴 받은 Code}&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fyoutube.readonly#

 

6)

{승인된 리디렉션 URI} 에서 {리턴 받은 Code}를 변수로 받는다.

 

7)

{리턴 받은 Code} 코드로 access_token을 구한다.

{승인된 리디렉션 URI} 페이지에서 POST로 전송하여 구해야 한다.

( 페이지를 새로고침 하거나 로그인 페이지에서 넘어온 값이 아니면 결과를 얻을 수 없다. )

 

https://accounts.google.com/o/oauth2/token?
code={리턴 받은 Code}&
client_id={클라이언트ID} &
client_secret={클라이언트 보안 비밀}&
redirect_uri={승인된 리디렉션 URI}&
grant_type=authorization_code

 

 

 

8)

위와 같이 요청하면 Json으로 access_token이 리턴된다.

그 access_token으로 채널 ID를 구한다.

https://www.googleapis.com/youtube/v3/channels?part=id&mine=true&access_token={Access_token}

 

9)

 

반응형
Comments