REST API에 대한 상세한 내용은 아래 KAKAO developer 사이트를 참고하자.
> 아래 코드는 친구에게 LIST형의 메시지 보내기 REST API를 사용할 때 코드.
def sendToMeMessage_list(content: list):
header = {"Authorization": 'Bearer ' + ACCESS_TOKEN}
url = "https://kapi.kakao.com/v1/api/talk/friends/message/default/send" #api 주소
# uuid 참고
# 1시간걸렸네 .. 하.. https://cocoabba.tistory.com/17
uuid = ["친구1의 UUID 값", "친구2의 UUID 값"]
uuidsData = {"receiver_uuids" : json.dumps(uuid)}
post = {
"object_type": "list",
"header_title": "Title",
"header_link": {
"web_url": "http://naver.com",
"mobile_web_url": "http://naver.com",
"android_execution_params" : "main",
"ios_execution_params" : "main"
},
"contents" : content,
"buttons" : [
{
"title" : "Button Title",
"link" : {
"web_url" : "http://naver.com",
"mobile_web_url" : "http://naver.com",
"android_execution_params" : "main",
"ios_execution_params" : "main"
}
}
]
}
data = {"template_object": json.dumps(post)}
uuidsData.update(data)
return requests.post(url, headers=header, data=uuidsData).status_code
> 위 코드에서 content에 해당하는 부분의 기본 구조는 다음과 같다.
아래 기본구조의 예시는 content에 하나의 데이터만 포함되어있기 때문에 그대로 쓰면 400 Bad Request Error가 응답되게 된다.
왜냐하면? 지금 하고자 하는 것은 한개의(단순 Text) 메시지가 아닌 여러개(List) 메시지를 보내는 List Object Type을 사용하고 있다. 따라서 content의 내용이 2개 이상이여야 한다.
content = []
content.append(
{
"title":r[0],\
"description":r[1],\
"image_url":"",\
"image_width":"0",\
"image_height":"0",\
"link":{
"web_url" : "http://dart.fss.or.kr/dsab001/main.do#",\
"mobile_web_url" : "http://dart.fss.or.kr/dsab001/main.do#",\
"android_execution_params" : "/dsab001/main.do#",\
"ios_execution_params" : "/dsab001/main.do#"
}
}
)
반응형
'Language > Python' 카테고리의 다른 글
[Python] 카카오 REST API 친구에게 메시지 보내기 (0) | 2021.01.13 |
---|---|
[Python] 카카오 REST API 엑세스 토큰 갱신하기 (0) | 2021.01.13 |
[Python] 카카오 REST API 엑세스 토큰 발급 하기 (0) | 2021.01.13 |
Python으로 워드프레스 포스트 작성하기 (0) | 2020.08.13 |
python assert (0) | 2020.05.26 |