문의 시, 디벨로퍼스 앱ID를 알려주세요.
- 비즈니스 정보 심사는 운영하시는 서비스와 디벨로퍼스앱이 일치하는지, 운영정책을 준수하는 신뢰할 수 있는 서비스인지 확인하는 절차입니다.
- 개인정보 항목 심사는 운영하시는 서비스 일반회원가입에서 입력 받는 항목을 기준으로 제공됩니다.
앱ID는 1386019입니다.
안녕하세요, 카카오톡 친구 목록 / 메시지 API 사용을 준비 중인 개발자입니다.
가이드 문서와 체크리스트를 참고하여 구현·설정을 진행했는데, 팀멤버 테스트 환경에서도 403 Forbidden이 계속 발생하여 문의드립니다.
아래는 현재 구현/설정 및 재현 절차입니다.
앱 이름: WhereHere
-
플랫폼: Web
-
서비스 도메인:
https://wherehere-seven.vercel.app
2. 구현한 플로우 (카카오 체크리스트 4단계 기준)
-
카카오 로그인
-
Supabase Kakao OAuth를 사용하여 웹에서 카카오 로그인 구현 완료
-
실제 서비스 화면:
https://wherehere-seven.vercel.app로그인
-
-
카카오톡 서비스 내 친구목록 / 메시지 동의
-
별도의 추가 동의 엔드포인트에서 OAuth2 Authorize 호출:
-
GET https://wherehere-seven.vercel.app/api/auth/kakao-consent?return=kakao-api-test -
scope=friends talk_message,prompt=consent
-
-
콜백:
-
GET https://wherehere-seven.vercel.app/api/auth/kakao-friends-callback?code=... -
여기에서
https://kauth.kakao.com/oauth/token으로authorization_code그랜트 요청 후,access_token을 발급 받아 앱으로 리다이렉트하고 있습니다.
-
-
이 과정에서 별도 오류 없이 토큰까지 정상 발급되고, 앱 내에서
kakao_friends_token으로 저장됩니다.
-
-
친구 목록 가져오기
-
화면:
설정 → 카카오 API 테스트(심사 제출용)내의 “③ 친구 목록 불러오기” 버튼 -
이 버튼 클릭 시, 백엔드 서버에서 다음 요청 수행:
-
POST https://wherehere-seven.vercel.app/api/v1/social/kakao-friends -
바디:
{ "access_token": "<위에서 받은 kakao_friends_token>" }
-
-
백엔드 내부에서:
-
GET https://kapi.kakao.com/v1/api/talk/friends -
헤더:
Authorization: Bearer <access_token>
-
-
이 호출에서 항상
403 Forbidden이 발생하고 있습니다.
-
-
친구에게 메시지 전송
- ③이 403으로 막혀 친구 목록을 받지 못해, ④ 단계(특정 친구 UUID 선택 후
v1/api/talk/friends/message/default/send호출)는 아직 정상 테스트를 하지 못한 상태입니다.
- ③이 403으로 막혀 친구 목록을 받지 못해, ④ 단계(특정 친구 UUID 선택 후
3. 설정 상태
-
Kakao Developers 설정
-
Web 플랫폼 → Redirect URI:
-
https://wherehere-seven.vercel.app/api/auth/kakao-friends-callback -
https://[프로젝트ID].supabase.co/auth/v1/callback
-
-
카카오 로그인 → 동의 항목:
-
카카오톡 서비스 내 친구목록 (friends)→ 이용 중 동의 -
카카오톡 메시지 전송 (talk_message)→ 선택 동의 (또는 이용 중 동의로 설정 가능)
-
-
앱 설정 → 팀 멤버:
- 테스트에 사용하는 두 개의 카카오 계정을 팀 멤버로 모두 등록한 상태입니다.
-
-
환경 변수 (서버)
-
KAKAO_REST_API_KEY= (해당 앱 REST API 키) -
KAKAO_CLIENT_SECRET= (해당 앱 Client Secret) -
위 값을 이용하여
oauth/authorize및oauth/token요청을 수행하고 있습니다.
-
4. 테스트 계정 조건
-
계정 A (본 계정)
-
WhereHere 웹에서 카카오 로그인 완료
-
위 추가 동의 플로우(
/api/auth/kakao-consent)를 통해 친구목록 + 메시지 scope 동의
-
-
계정 B (팀 멤버 계정)
-
Kakao Developers → 해당 앱 → 팀 멤버에 등록
-
동일한 웹 서비스에서 카카오 로그인 및 친구목록/메시지 동의까지 완료
-
-
A와 B는 카카오톡에서 실제 친구 관계입니다.
5. 실제 오류 현상
-
계정 A로 로그인 후, 설정 → “카카오 API 테스트(심사 제출용)” 화면에서:
-
① 카카오 로그인: “완료” 표시
-
② 동의:
/api/auth/kakao-consent호출 후 앱으로 정상 복귀 -
③ 친구 목록 불러오기 클릭 시마다, 백엔드에서
https://kapi.kakao.com/v1/api/talk/friends호출이 항상403 Forbidden으로 응답
-
-
응답 바디 예시(일부 마스킹):
HTTP/1.1 403 Forbidden
{
“msg”: “insufficient scopes.”,
“code”: -402
}
(※ 실제로 확인된 에러 메시지가 다를 경우, 해당 JSON을 그대로 첨부 예정입니다.)
6. 문의 드리고 싶은 점
-
위와 같이 두 계정 모두 팀 멤버로 등록 + 로그인 + friends/talk_message 동의 완료 상태에서도
v1/api/talk/friends에서 403이 발생하는 것이 정상 동작인지,
아니면 추가로 어떤 조건(예: 권한 승인 전에는 특정 범위까지만 허용 등)이 더 필요한지 확인 부탁드립니다. -
“카카오톡 친구 목록 / 메시지” 권한 신청은 이미 한 번 반려된 상태인데,
- 위 테스트 화면(카카오 로그인 / 동의 / 친구 목록 API 호출 / 메시지 전송 테스트)을 이용해
어떤 식으로 테스트 이력을 증빙하는 것이 가장 적절한지도 조언 부탁드립니다.
- 위 테스트 화면(카카오 로그인 / 동의 / 친구 목록 API 호출 / 메시지 전송 테스트)을 이용해
-
현재 상태에서 테스트 앱을 별도로 만들어야 하는지,
아니면 지금 운영 앱 상태에서도 팀 멤버 기준으로 403 없이 테스트가 가능해야 하는지 기준을 알고 싶습니다.
긴 글 읽어주셔서 감사합니다.