카카오 플랫폼 서비스에서 카카오톡, 카카오스토리와 같은 카카오 서비스 및 카카오 플랫폼 기술과 관련된 API를 제공합는데 이런 서비스를 이용하기 위해 인증 키를 발급 받아야 한다.
1. 가입하기.
아래 링크에서 기존의 카카오 계정을 이용하여 가입하고, 디벨로퍼스에도 회원가입을 해준다.
2. 애플리케이션 추가하기.
나머지 정보들은 대충 입력해준다음, 만들어진 어플리케이션에 들어가준다.
3. API 키 확인
애플리케이션을 생성후 들어가서 좌측에 요약정보를 누르면 내 앱 키들이 나오는데, 이거는 공유하면 안되는 나만 알고있어야 하는 키이다.
4. Redirect URI 설정
좌측의 카카오로그인에 들어가서
카카오 로그인, Openid connect를 활성화 하고, Redirect URI를 설정해준다.
Redirect URI가 뭔지 잘모르겠는데..(깊게 들어가기 싫어서)
로컬호스트 주소도 가능하다고 하고, 아니면 자신의 블로그?주소를 적어도되는 것 같고 아니면 닷홈같은 곳의 주소를 적어도 되는 것 같다. --> 보통 로컬호스트 주소를 사용한다. http://localhost:8080 이런식.
5. 개인정보 동의항목 설정
다음으로, 좌측 카카오 로그인에서 동의항목에 들어간다음, 필요한 항목들의 동의를 설정해준다.
밑의 접근권한도 자신이 사용할 목적에 맞게 설정해주면 된다.
나의 경우에는 닉네임, 프로필사진, 카카오톡 메세지 전송에 동의를 설정해줬다.
6. 도메인 설정
이 부분도 사실 잘 모르겠는데, 나중에 이 API를 사용하면서 사용하게될?? 도메인을 적는 것 같다...
좌측의 앱설정 밑의 플랫폼에 들어가서 아래에 WEB칸에 추가를 누른다.
나의 경우는 네이버, 구글 ,그리고 이전에 Redirect URI로 지정한 주소를 적어줬다.
(이것도 Redirect URI만 적어도 되는듯? 나는 네이버 링크도 카톡 메세지로 보내줄거라 적긴했음..)
7. 인가 코드 받기
아래 링크를 수정하여, 크롬의 시크릿창을 열어서 붙여넣기해준다.
https://kauth.kakao.com/oauth/authorize?client_id={REST_API 앱키}&response_type=code&redirect_uri={자신이 설정한 redirect uri}
아래 코드에서 우선 rest api앱키는 맨처음 자신의 애플리케이션을 눌렀을 때 뜨는 그 키를 넣어주면되고,
redirect uri도 방금전 자신이 설정한 걸로 넣어준다. ({}는 뺴고 =뒤에 적어주면 됩니다.)
그럼 카카오톡 로그인이 실행되고, 카카오톡 로그인을 완료하면, 빈창이 열릴수도있고 아무튼 주소창에
code=********************** 라는 형식이 적혀있을 것이다.
창은 뭐 연결이 실패했습니다가 떠도 좋고 내 블로그로 이동하던 상관없는데, 주소창에 저 code=뭐시기 가 적혀있어야 한다.
8. 인증 토큰 받기
code 발급까지 성공했으면 이제 인증토큰만 받으면 끝이다. 단 이때, 만약 인증토큰 받는 걸 한번 실패하면, code도 바뀌기 때문에 그 7번부터 다시 실행해야 한다.
우선 code를 발급받은 후, 파이썬을 이용하여 인증토큰을 받게된다.,
이후 아래 코드에 자신의 key들을 입력하고 실행하면 토큰이 발급되게 된다. 이 token을 저장해서 사용하면된다.
import requests
import json
url = "https://kauth.kakao.com/oauth/token"
data = {
"grant_type" : "authorization_code",
"client_id" : "자신의 REST API KEY",
"redirect_uri" : "자신의 Redirect URI",
"code" : "7번에서 받은 CODE"
}
response = requests.post(url, data=data)
tokens = response.json()
with open("kakao_token.json", "w") as fp:
json.dump(tokens, fp)
print(tokens)
token은 언젠가 시간이 되면 만료되는데 그럼 위의 과정을 다시 진행하는게 아니라,
위의 과정에서 token을 제대로 만들었다면, 해당 폴더에 kakao_token.json이라는 파일이 만들어졌을 텐데 거기에 적혀있는 refresh token을 이용하여 아래 코드에 넣고 다시 돌리면, access token을 새로 발급받을 수 있다.
url = "https://kauth.kakao.com/oauth/token"
data = {
"grant_type" : "refresh_token",
"client_id" : "자신의 REST API KEY",
"refresh_token" : "<refresh token을 입력하세요>"
}
response = requests.post(url, data=data)
print(response.json())
api나 이런거 잘 모르는데, 사용하기 위해서 여러 블로그를 보다가 제가 한 방법 그대로를 적어놨습니다.~~
헷갈리시면 댓글 혹은 아래 공식 문서나 다른 블로그들 보시면 왠만해서 쉽게 해결됩니다~~
'알쓸신잡' 카테고리의 다른 글
카카오톡 api로 나에게 메세지 보내기 (1) | 2023.10.27 |
---|---|
파이썬 오류 모음 zip (0) | 2023.10.27 |
티스토리 날짜 수정하기 (0) | 2023.10.26 |
VScode 알쓸신잡 (0) | 2023.10.26 |
YOLO V5 실습 (0) | 2023.10.26 |