안녕하세요 주갬입니다.
저는 교육용 오픈소스 moodle과 카카오톡API를 연결하던 중 오류메시지를 확인했습니다.
{
"msg": "insufficient scopes.",
"code": -402,
"api_type": "TALK_MEMO_DEFAULT_SEND",
"required_scopes": [
"talk_message"
],
"allowed_scopes": []
}
라는 내용의 response를 받아 에러의 원인을 찾아보았습니다.
response의 "allowed_scopes": [] 는 동의한 권한이 없다는 뜻인데요,,
developers.kakao 페이지에서 동의항목을 확인해보면 분명 카카오톡 메시지 전송에 체크가 잘 되어 있습니다!!
그렇다면 "allowed_scopes": ["talk_message"] 가 되어야 정상인데 이유가 뭘까요,,

결론적으로 해결방법은 API를 호출할 때 추가 동의를 받도록 처리하면 됩니다.
https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api#additional-consent
Kakao Developers
카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.
developers.kakao.com
추가 동의를 요청 시 카카오 인증 서버는 사용자에게 추가 동의 받을 항목의 동의를 요청하는 화면을 출력합니다. 사용자가 해당 항목에 동의하면 추가 동의가 성공 및 완료되고, 사용자가 취소하면 추가 동의 요청이 실패합니다.
추가 동의를 얻기 위한 방법에 대해 설명드리겠습니다.
https://kauth.kakao.com/oauth/authorize 에 다음과 같은 파라미터를 넣고 GET요청을 합니다.
여기서 client_id는 이전 게시글 2번에서 받아온 사용자 코드입니다.
2021.07.02 - [moodle] - moodle + 카카오톡 나에게 보내기 api 연결하기 - (1) 카카오톡 access token, refresh token 받는 방법
moodle + 카카오톡 나에게 보내기 api 연결하기 - (1) 카카오톡 access token, refresh token 받는 방법
안녕하세요 주갬입니다! 오늘은 교육용 오픈소스인 moodle에 카카오톡 나에게 보내기 api를 연결해보도록 하겠습니다. 1. 카카오톡 api 계정 생성 및 설정하기 카카오톡 api를 이용하기 위해서는 카
joogaem.com
그럼 다음과 같은 response가 받아지며, 위의 url을 주소표시줄에 입력하면 다음과 같은 화면을 보실 수 있습니다.
동의하고 계속하기를 누르면 다음과 같이 화면이 넘어가면서 주소표시줄의 "code =" 뒷부분에서 사용자 코드를 확인하실 수 있습니다.
이 사용자 코드는 "추가 동의를 진행한" 버전의 사용자 코드를 새로 받아온 것이므로 access token을 받는 과정을 다시 해주어야 합니다.
access token 을 받아오는 화면으로 돌아가 code부분에 새 코드를 입력 후 처리하면 새로운 access token과 refresh token을 받아올 수 있습니다. (아까 메모장에 적혀있던 코드들을 이 새 코드로 교체하세요!!😄 )
scope에 "talk_message" 가 추가된 모습도 확인할 수 있네요!!
이제 추가 동의된 사용자 코드와 access token도 있겠다, 본격적으로 메시지를 보내보겠습니다.
다음과 같이 header 파라미터와 body에 보낼 메시지의 내용을 입력 후 send를 누릅니다.
"result_code : 0"은 메시지가 잘 전송되었다는 뜻이니, 잘 보내졌는지 확인해볼까요~? 😆
나에게 보내기 메시지가 잘 전송된 모습을 확인하실 수 있습니다!!!
다음시간에는 무들 일정 기능에 이 api를 붙여 일정을 카카오톡으로 받아올 수 있는 기능을 구현하도록 하겠습니다.
감사합니다.!!
'moodle' 카테고리의 다른 글
[Moodle] 카카오톡 나에게 보내기 api 무들에 연결하기 - (1) 카카오톡 access token, refresh token 받는 방법 (0) | 2021.07.02 |
---|