본문 바로가기

프로그래밍/영화 TMDB API

영화 정보 앱 만들기 - TMDB API 사용법, Authentication

반응형

TMDB API 활용 예제 앱입니다.

https://play.google.com/store/apps/details?id=com.enigmah2k.movieinfo

 

영화정보 - Google Play 앱

영화 또는 TV 시리즈 정보를 검색할 수 있습니다. TMDB API를 사용하여 만들었습니다. 한국에 소개되지 않은 컨텐츠를 찾을 수 있습니다.

play.google.com

TMDB API - Authentication

 

사용자 인증 방법입니다.

아래 링크에 session_id 를 발급받는 방법이 나와 있습니다.

https://developers.themoviedb.org/3/authentication/how-do-i-generate-a-session-id

 

간략한 순서입니다.

1. requestToken을 신청합니다. ( Create Request Token )

2. requestToken을 외부에서 사용할 수 있도록 승인을 받습니다.

https://www.themoviedb.org/authenticate/{REQUEST_TOKEN} 으로 접속하면, 로그인 요청 및 타사 인증 요청 화면이 나옵니다.

3. 승인을 받은 후 session ID를 요청 합니다. ( Create Session )

 

 

자세히 알아보겠습니다.

 

1. requestToken 신청

 

아래와 같이 요청을 하면 Request Token을 얻게 됩니다.

https://api.themoviedb.org/3/authentication/token/new?api_key=<<api_key>>

{"success":true,"expires_at":"2020-11-05 07:34:11 UTC","request_token":"4e0a7fc8439f9020a873092502eb15a64271b9dd"}

request_token 값으로 넘어온 값을 사용하면 됩니다.

 

 

2. 타사 인증 

 

위에서 받은 request_token 으로 아래와 같이 호출합니다.

https://www.themoviedb.org/authenticate/4e0a7fc8439f9020a873092502eb15a64271b9dd

 

TMDB 사이트로 이동하며, 로그인 상태가 아니라면 로그인 화면이 나타납니다.

로그인을 하면 타사 인증 요청 화면이 나타나고 허가를 하면 됩니다.

 

타사 인증 요청을 웹페이지를 띄워 해야 하지만 그렇지 못한 경우 Create Session With Login 으로 바로 인증을 받을 수 있습니다.

아래와 같이 username과 password를 포함하여 호출하면 바로 승인됩니다.

https://api.themoviedb.org/3/authentication/token/validate_with_login?api_key=<<api_key>>&username=<<username>>&password=<<password>>&request_token=84099f94ff656ab3de37195a45c20eba2392bf48

{"success":true,"expires_at":"2020-11-05 07:50:49 UTC","request_token":"84099f94ff656ab3de37195a45c20eba2392bf48"}

 

3. session ID 요청

 

타사 인증 요청을 완료한 후 아래와 같이 호출하면 session ID를 얻을 수 있습니다.

https://api.themoviedb.org/3/authentication/session/new?api_key=<<api_key>>&request_token=4e0a7fc8439f9020a873092502eb15a64271b9dd

{"success":true,"session_id":"57fabf0a8ba996c1cc6aa7ed001577093a6f926e"}

 

이제 Account API를 사용할 때, 이 session_id를 사용하면 됩니다.

 

POST 방식으로 되어 있지만 GET 방식으로 해도 결과는 받을 수 있습니다.

 

Android 앱에서 구현 방법 및 소스코드는 E-Book에 적었습니다.

 

=============================================

< API 설명 >

 

1. How do I generate a session id?

위의 Session ID 받는 방법을 설명한 내용입니다.

 

2. Create Guest Session

Guest Session을 만드는 방법입니다.

로그인이나 사용자 인증 없이 session 을 만들 수 있습니다.

하지만 이전 글에서도 설명했듯이 Guest 정보가 별로 없기 때문에 사용성은 없어 보입니다.

영화, TV 프로그램 및 TV 에피소드 만 평가할 수 있으며 권한이 제한됩니다.

 

아래와 같이 호출하면 Guest Session을 얻을 수 있습니다.

https://api.themoviedb.org/3/authentication/guest_session/new?api_key=<<api_key>>

{"success":true,"guest_session_id":"4c7eee675c627ff5c12dc08d071f00e9","expires_at":"2020-11-06 06:29:31 UTC"}

 

필수값은 api_key 만 있습니다.

아래는 응답 결과입니다.

{
  "success": true,
  "guest_session_id": "1ce82ec1223641636ad4a60b07de3581",
  "expires_at": "2016-08-27 16:26:40 UTC"
}

 

 

3. Create Request Token

Request Token을 생성합니다.

아래와 같이 호출하면 Request Token을 얻을 수 있습니다.

https://api.themoviedb.org/3/authentication/token/new?api_key=<<api_key>>

{"success":true,"expires_at":"2020-11-05 07:50:49 UTC","request_token":"84099f94ff656ab3de37195a45c20eba2392bf48"}

 

필수값은 api_key 만 있습니다.

아래는 응답 결과입니다.

{
  "success": true,
  "expires_at": "2016-08-26 17:04:39 UTC",
  "request_token": "ff5c7eeb5a8870efe3cd7fc5c282cffd26800ecd"
}

 

 

4. Create Session

Session ID를 생성합니다.

아래와 같이 호출하면 Session ID을 얻을 수 있습니다.

https://api.themoviedb.org/3/authentication/session/new?api_key=<<api_key>>&request_token=84099f94ff656ab3de37195a45c20eba2392bf48

{"success":true,"session_id":"2322b4f2209feeafd7e39fc6cf80952f5a45c122"}

필수값은 api_key와 request_token입니다.

request_token은 타사 인증 요청을 완료한 상태이어야 합니다.

아래는 응답 결과입니다.

{
  "success": true,
  "session_id": "79191836ddaa0da3df76a5ffef6f07ad6ab0c641"
}

 

 

5. Create Session With Login

request_token을 웹페이지 호출 없이 타사 인증 사용을 확인 할 수 있습니다.

Session을 생성하는 것이 아니기 때문에 제목은 좀 잘못 된 것 같습니다.  

아래와 같이 호출하면 request_token 의 타사 인증을 할 수 있습니다.

https://api.themoviedb.org/3/authentication/token/validate_with_login?api_key=<<api_key>>&username=<<username>>&password=<<password>>&request_token=84099f94ff656ab3de37195a45c20eba2392bf48

{"success":true,"expires_at":"2020-11-05 07:50:49 UTC","request_token":"84099f94ff656ab3de37195a45c20eba2392bf48"}

필수값은 api_key와 request_token 뿐만 아니라 username과 password도 있습니다.

바로 타사 인증이 됩니다.

아래는 응답 결과입니다.

{
  "success": true,
  "expires_at": "2018-07-24 04:10:26 UTC",
  "request_token": "1531f1a558c8357ce8990cf887ff196e8f5402ec"
}

TMDB의 권장사항은 웹 페이지를 호출하는 것입니다.

 

 

6. Delete Session

Session 을 삭제합니다.

아래와 같이 호출하면 됩니다.

https://api.themoviedb.org/3/authentication/session?api_key=<<api_key>>&session_id=2322b4f2209feeafd7e39fc6cf80952f5a45c122

 

필수값은 api_key와 session_id 입니다.

아래는 응답 결과입니다.

{
  "success": true
}

 

Authentication 을 마쳤습니다.

 

TMDB API 를 활용한 Android 앱 만들기

https://stockant.tistory.com/530

 

 

 

반응형