카카오 모먼트 access token 관련해서 문의드립니다

카카오모먼트 API에 대한 최신 공지는 카카오모먼트 공지사항카카오광고 통합 에이전시 에서 확인 가능합니다.

카카오모먼트 API 외 문의사항은 DevTalk 각 카테고리나 FAQ에서 확인 가능합니다. 카카오모먼트 오픈API 외 자주 발생하는 문의는 아래 게시판에서 확인 및 등록 가능합니다.

︎- AdFit SDK FAQ
︎- AdFit SDK 고객센터 문의
︎- 픽셀&SDK FAQ 1
︎- 픽셀&SDK 고객센터 문의

카카오모먼트 오픈API 권한이 없는 앱, 카카오모먼트 오픈API가 아닌 다른 문의의 경우 답변이 늦어지거나 진행이 불가하오니 이 점 양해 부탁드립니다.

※ 사용 중 문의사항은 아래 내용을 기재하신 후 작성해주시길 바랍니다.
호출 시 발생한 오류의 경우 호출 /응답 내용을 상세히 남겨주시는 것이 확인 및 답변에 도움이 됩니다.

  • 사업자명:
    티오더
  • APP 이름(ID):
    t’order
  • 문의 내용:
    카카오모먼트 api 사용시에 토큰을 얻으려고 하는데 로그인 api 를 통해서 토큰을 얻어야 하는건가요??
    광고 관련 수치를 가져오기를 하려고 하는데 매번 로그인을 통해 토큰을 얻어서 불러오는건가요?
    client는 없고 서버에서만 실행할겁니다

안녕하세요.

최초 1회 카카오 로그인 하시고, 리프레시 토큰 이용하여 매번로그인하지 않고 토큰 갱신하셔서 사용하는 방법이 있습니다.

REST API | Kakao Developers REST API

리프레시 토큰은 유효기간이 2개월이나 1개월 남은 시점에 리프레시 토큰갱신되어 응답에 refresh_token 값이 내려가므로
응답에 refresh_token항목이 있다면 리프레시 토큰 교체 하셔서 사용하시면됩니다.

최초 1회 카카오 로그인이
https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api#request-code-info
이거 사용하는거 말씀하시는건가요?
그럼 플랫폼 등록을 해야하는데 서버에서만 호출하는거라서 앱이나 웹으로 플랫폼 등록이 불가한데 어떻게 해야하나요?

이거 사용하는거 말씀하시는건가요?

네, 맞습니다. 인가코드요청 → redirect_uri로 302리다이렉트 → redirect_uri에서 액세스 토큰 발급 & v2/user/me 한번 호출(v2/user/me 호출하지 않으면 24시간뒤 unlink처리되어 리프레시 토큰을 사용할 수 없습니다.)

그럼 플랫폼 등록을 해야하는데 서버에서만 호출하는거라서 앱이나 웹으로 플랫폼 등록이 불가한데 어떻게 해야하나요?

카카오 로그인은 Oauth2 표준방식으로 웹브라우저상 302리다이렉트를 수반합니다.
별도 웹페이지 하나 구성하셔서 카카오 로그인으로 리프레시 토큰 발급받으셔서 사용하셔야합니다.

그럼 서버에서만 호출하는 방식은 안되는건가요’?
제가 이해하기로는 카카오 로그인 화면이 들어간 웹페이지을 구성하고 거기서 로그인을 통한 토큰 발급을 받고 그걸 사용하는게 맞을까요?
고객이 사용하는게 아니고 제 access token 을 발급해서 카카오 모먼트 api 에서 광고수치만 가져오려는건데 저 방식과 동일한가요?

고객이 사용하는게 아니고 제 access token 을 발급해서 카카오 모먼트 api 에서 광고수치만 가져오려는건데 저 방식과 동일한가요?

네, 액세스 토큰 발급 방식은 동일합니다.

제가 이해하기로는 카카오 로그인 화면이 들어간 웹페이지을 구성하고 거기서 로그인을 통한 토큰 발급을 받고 그걸 사용하는게 맞을까요?

관리자 페이지를 따로 구성하셔서 액세스 토큰 및 리프래시 토큰 발급을 위한 동선 구성하시는 것을 추천드립니다.

그럼 서버에서만 호출하는 방식은 안되는건가요’?

인가요청 시, 계정로그인 페이지 리다이렉트와 설정하신 Redirect URI로 리다이렉트되므로
번거로우시겠지만, 브라우저내 구동하셔서 리프래시 토큰 발급 후, 서버에서 사용 부탁드립니다.

혹시 redirect_uri에서만 토큰발급이 가능하도록 세팅되어있나요?

아닙니다.
redirect_uri로 인가코드가 전달되고 인가코드로 액세스 토큰 발급 받는 것일 뿐 다른 URI에서 인가 코드로 액세스 토큰 발급 가능합니다.
(다만, 인가코드요청 시 설정한 redirect_uri를 액세스 토큰 발급시 파라메터로 redirect_uri값 동일하게 전달해야합니다.)
(단, 한번 사용한 인가코드는 재사용 불가능합니다.)

웹에서 로그인을 구성해서 토큰 발급 받는 부분이 좀 어려운데 카카오 로그인 창을 어떻게 불러야할까요?

간단한 예제 링크 첨부드립니다.


절차로 보면 아래와 같고 로그인페이지에 html 링크 적용하시면 됩니다.

<a href="https://kauth.kakao.com/oauth/authorize?response_type=code&client_id=${REST_API_KEY}&redirect_uri=${REDIRECT_URI}">
카카오 로그인
</a>

(1) 인가코드 요청 REST API | Kakao Developers REST API

(2) 리다이렉트 URI에서 액세스 토큰 발급 REST API | Kakao Developers REST API

(3) 사용자 정보 가져오기 REST API | Kakao Developers REST API


디벨로퍼스 도구에서 테스트 해보실수도 있습니다.

카카오계정

  • 인증앱 항목의 디벨로퍼스앱을 실제 사용하시는 디벨로퍼스앱으로 변경하셔서 호출하실 수 있습니다.

kakao moment api 사용을 위해 토큰발급까지 잘 했는데 호출하니까
KA Header is required but neither os nor origin field is given 에러가 발생했습니다
모먼트 api 신청까지 해서 승인까지 받았는데 왜 안될까요,ㅠㅠ

안녕하세요.

확인을 위해 앱 ID 부탁드립니다.


앱ID
https://developers.kakao.com/ 의 내 애플리케이션>앱 설정>요약 정보 : 기본정보에 있는 앱 ID
숫자로된 ID 입니다
ex) 123456

ID 865624 입니다

자바스크립트 키를 사용하셔서 액세스 토큰 받으셨는데 관련 헤더가 없어서 에러나는것 같네요.

REST_API_KEY로 토큰 받아서 호출해보시겠어요?