기존글이 복잡하다는 의견이 있는거 같아서 부차적인거 다 빼고 제일 자주 사용되는 Get Users API 사용법까지 최대한 간단히 설명함
==================================================
1. 트위치 콘솔 응용 프로그램 등록 (https://dev.twitch.tv/console) → 클라이언트 아이디 & 클라이언트 시크릿
트위치 개발자 콘솔 (https://dev.twitch.tv/console) 에서 "내 응용 프로그램 등록" 버튼 클릭
- 이름 : (아무거나)
- OAuth 리디렉션 URL : http://localhost/
- 범주 : Others
필요하면 나중에 수정 가능하니 일단 적고 넘어가면 됨
그럼 클라이언트 ID 와 클라이언트 시크릿이 나오는데 해당 값을 저장 (메모)
==================================================
2. 토큰 발급 (https://id.twitch.tv/oauth2/token + 클라이언트 아이디 + 클라이언트 시크릿) → 토큰
import requests response = requests.post("https://id.twitch.tv/oauth2/token",{"client_id":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","client_secret":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","grant_type":"client_credentials"}) print(response.json()) |
- client_id : 1번에서 발급한 클라이언트 아이디
- client_secret : 1번에서 발급한 클라이언트 시크릿
정상적으로 입력했다면 {"access_token":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","expires_in":xxxxxxx,"token_type":"bearer"} 처럼 출력될텐데 해당 토큰값을 저장 (메모)
==================================================
3. API 요청 (https://api.twitch.tv/helix/~~~ + 클라이언트 아이디 + 토큰) -> API 응답
import requests response = requests.get("https://api.twitch.tv/helix/users",{"login":"xxxxx"},headers = {"Client-Id":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "Authorization" : "Bearer xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}) print(response.json()) |
- login : 조회할 유저의 아이디
- Client-Id : 1번에서 발급한 클라이언트 아이디
- Authorization : 2번에서 발급한 토큰
정상적으로 입력했다면 {'data': [{'id': 'xxxxx', 'login': 'xxxxx', 'display_name': 'xxxxx', 'type': '', 'broadcaster_type': '', 'description': 'xxxxx', 'profile_image_url': 'https://static-cdn.jtvnw.net/jtv_user_pictures/xxxxxxxxxx.png', 'offline_image_url': '', 'view_count': 0, 'created_at': 'xxxxx'}]} 과 같은 출력이 나올거임
==================================================
* 레퍼런스 페이지 : https://dev.twitch.tv/docs/api/reference/
다른 API 를 사용하고싶거나 API에 들어가는 파라미터값을 알고싶다면 해당 페이지 참고
해당 방식으로는 Requires an app access token 과 같이 적힌 API 만 사용 가능
==================================================
* user access token 이 필요한 API 는?
user access token 은 주로 계정의 권한 (scope) 이 필요한 경우임 (user access token 이 필요없는 경우 넘겨도 됨)
트게더, 트윕, 투네 같은거 처음 로그인할때 권한 요청하는 페이지가 뜨는데 이게 user_token 을 발급받는 방식임
user token 은 계정의 권한이 필요하기에 트위치에 로그인된 브라우저에서 권한 요청페이지가 뜨는거임
해당 토큰 발급 방법은 https://dev.twitch.tv/docs/authentication/ 를 참고하면 됨