메시지 API 를 통한 카톡메시지 전송

파이썬을 통해서 메시지를 전송 하려고 하고 있고 ID는 ID 1171005 입니다.


팀원 추가는 되어 있으나. API 에서 조회가 되지 않고 계속 None 으로 뜨는 상태 입니다 .
“”"
url = “https://kauth.kakao.com/oauth/token
data = {
“grant_type” : “authorization_code”,
“client_id” : “a654747bbbccdd8187262a134d197432”,
“redirect_url” : “https://example.com/oauth”,
“code” : “urma-3YPKsE8TsaitjdOucd2ah7YiUtrHM-sYksOupJQZPLW83DBwgAAAAQKKiVOAAABk5oYoJ3o6jj-qNQmaA”
}
response = requests.post(url, data=data)
tokens = response.json()
print(tokens)
“”"
“”"

카카오톡 메시지 API

url = “https://kauth.kakao.com/oauth/token
data = {
“grant_type”: “refresh_token”,
“client_id” : “a654747bbbccdd8187262a134d197432”,
“refresh_token”: “gI4VyBnSOf23xjVAWB9vVsLRhjlVFOjCAAAAAgo8JFkAAAGTmhutIiJyl_dg0lnq”
}
response = requests.post(url, data=data)
tokens = response.json()

kakao_code.json 파일 저장

with open(“Test/kakao_code.json”, “w”) as fp:
json.dump(tokens, fp)
“”"

카카오 API 엑세스 토큰

with open(“Test/kakao_code.json”, “r”) as fp:
tokens = json.load(fp)
print(tokens[“access_token”])

url = “https://kapi.kakao.com/v1/api/talk/friends#친구 목록 가져오기
header = {“Authorization”: 'Bearer ’ + tokens[“access_token”]}
result = json.loads(requests.get(url, headers=header).text)
friends_list = result.get(“elements”)
print(friends_list)
위에는 사용한 테스트 코드 입니다.

진행 하는 프로그램은 회사 내부에서 쓰는 프로그램에서 프로그램 내에서 생성된 리포트를 지정된 사람에게 자동으로 전송 되게 하는것이 목적입니다. 현재는 이메일로 자동으로 전송되고 있는데 접근성 문제로 카톡으로도 보내게 하려고 합니다.

안녕하세요.

친구/메시지 API는 서비스 내 사용자간 소셜활동을 위해 제공됩니다.
아래 조건을 만족하는 사용자만 목록으로 전달, 메시지 수발신되는 점 참고 부탁드립니다.

이해하기 | Kakao Developers 이해하기 - 친구 정보 제공 조건

팀원 추가는 되어 있습니다.
혹시 API 를 사용 하려면 앱원한 에서 카카오톡 친구 목록 / 메시지(카카오톡 친구에게 메시지 발송이 필요한 경우 신청합니다.) 이 항목을 신청하고 권한을 얻어야 사용이 가능한것 일까요?

안녕하세요.

권한 신청은 서비스 내 사용자간 친구/메시지 API 사용이 필요한 경우 신청하실 수 있습니다.
권한 신청전에는 팀원을 대상으로 사용가능하며 심사 시 팀원을 대상으로 API를 정상적으로 사용하였는지 심사하고 있는점 참고 부탁드립니다.

메시지는 수신자의 UUID를 알고 있어야 발송할수 있습니다.
UUID는 친구목록 API나 친구 피커를 통해 획득할 수 있지만, 카카오톡의 모든 친구가 조회되는 것은 아닙니다.

아래 조건을 모두 만족해야 하는점 참고 부탁드립니다.

  1. 친구가 앱과 연결된 상태일 것
  2. 친구가 앱 연결 시 [카카오 서비스 내 친구 목록 제공] 동의항목에 동의한 상태일 것
  3. 친구가 숨김 또는 차단 친구가 아닐 것
  4. 친구의 프로필 공개 설정이 공개 상태일 것
  5. (권한이 없는경우) 팀원만 가능

발송자도 카카오톡 앱과 연동이 되어 있는 상태여야 할까요?
현재 발송자(해당계정) 은 카카오톡과 연동은 안되어 있고. 카카오계정으로 로그인하여 팀원들을 추가한 상태에서 추가 하고 있습니다.
파이썬으로 테스트시 None 이 반환되어 홈페이지의 REST API 테스트 / “카카오톡 친구 목록 가져오기” 에서 테스트한 결과
NotExistTalkUserException 이 뜨는것을 알게 되었습니다.

그리고 만약 카카오톡 연동이 필요하다면 휴대폰이 없이 태블릿에서 가입이 가능할까요?

서비스 내 사용자간은 디벨로퍼스 앱과 연결된 사용자간을 말하는데요
팀원 추가와 카카오 로그인에 의한 연결은 다른 개념으로 기본적으로 카카오 로그인을 통해 서비스와 연결된 사용자 조건을 만족해야만 합니다.

NotExistTalkUserException는 사용된 카카오 계정이 카카오톡을 사용하고 있지 않아 메시지 발신이 불가 하기에 표시되는 오류 입니다.

카카오톡은 전화번호가 있어야만 사용할 수 있습니다,.

메시지를 보낼때 팀원도 디벨로퍼스에 가입이 되어 있어야 한다는데 꼭 가입이 되어 있어야 할까요? 앱에서 프로필 공개는 되어 있는 상태 입니다.
팀원 추가는 해놨는데 새로 추가한 팀원은 “yg****@hanmail.net” 란 계정인데. 다른 팀원은 조회가 되는데.
새로 추가한 계정만 조회가 안됩니다.

아래 조건이 달성되지 않은 상태 입니다.

  1. 친구가 앱과 연결된 상태일 것
    ㄴ 구현하신 카카오 로그인 기능을 통해 최소 1회 사용자 정보 조회까지 진행 되어 있어야 하며

  2. 친구가 앱 연결 시 [카카오 서비스 내 친구 목록 제공] 동의항목에 동의한 상태일 것
    반드시 friends, talk_message 동의 항목에 동의된 상태야만 합니다.

말슴해 주신 1~2 항목이
" 카카오계정"
이 링크를 통해 제공되는 것을 말슴 하시는건가요?

이것이라면 메시지 발송자(본인) 말고 수신자 까지 모두 진행이 되어야 한다는건데?
수신자에게 동의를 받으려면 어떻게 해야할까요? 저링크로 하기엔 저기에 REDIRECT_URI 이나.REST_API_KEY 가 들어가 있어서. 결국 저것으로 진행 하려면 디벨로퍼스에 가입해서 얻어야 한다는것인데…
어떤식으로 요청을 해야 할까요?

네, 카카오 로그인 과정 맞습니다.

이 기능은 서비스 내 사용자간 소셜활동즉. 서비스측에 카카오 로그인한 사용자들간 소셜활동을 위해 제공됩니다.

오해 하고 계신것 같은데요, 카카오 로그인을 위해 모든 사용자가 디벨로퍼스에 가입 하고 앱을 만들거나 해당 앱의 팀 멤버로 등록될 필요 없습니다. 그냥 하나의 앱에 로그인하며 필요한 동의를 받으시면 됩니다.

단, 아직 친구/메시지 권한이 없는 경우 팀원을 한정하여 테스트할 수 있기 때문에 테스트 대상자들은 디벨로퍼스 가입 및 해당 앱의 팀 멤버로 등록될 필요가 있습ㄴ디ㅏ.