나에게 메세지 보내기를 해보고 있습니다.
리스트 템플릿이 아닌 텍스트 템플릿의 경우에는 실행이 잘 되는데, 리스트 템플릿 보내기에서 오류가 발생해서 질문드립니다.
import requests
import json
발행한 토큰 불러오기
with open(“token.json”, “r”) as kakao:
tokens = json.load(kakao)
카카오톡 URL 주소
url = “https://kapi.kakao.com/v2/api/talk/memo/default/send”
날씨 상세 정보 URL
weather_url = “https://www.weather.go.kr/”
headers = {
“Content-Type”: “application/x-www-form-urlencoded”,
“Authorization”: "Bearer " + tokens[“access_token”]
}
리스트 템플릿 형식 만들기
contents = []
template = {
“object_type” : “list”,
“header_title” : “현재 날씨에 따른 옷차림 추천”,
“header_link” : {
“web_url”: weather_url,
“mobile_web_url” : weather_url
},
“contents” : contents,
“buttons” : [
{
“title” : “날씨 정보 상세보기”,
“link” : {
“web_url”: weather_url,
“mobile_web_url” : weather_url
}
}
],
}
contents 만들기
import urllib
for i in range(0, 5, 2):
title = recommends[i] # 이름
link = recommends[i+1] # 장소 지번 주소
# 카카오톡 리스트 템플릿 형식에 맞춰줍니다.
content = {
“title”: title,
#“description”: ’ '.join(address.split()[1:]),
#“image_url”: image_url,
#“image_width”: 50, “image_height”: 50,
“link”: {
“web_url”: link,
“mobile_web_url”: link
}
}
contents.append(content)
JSON 형식 → 문자열 변환
payload = {
“template_object”: json.dumps(template)
}
카카오톡 보내기
response = requests.post(url, headers=headers, data=payload)
response.status_code
if response.json().get(‘result_code’) == 0:
print(‘메시지를 성공적으로 보냈습니다.’)
else:
print('메시지를 성공적으로 보내지 못했습니다. 오류메시지 : ’ + str(response.json()))
위의 코드를 실행 중에 있습니다.
아래 에러가 발생하고 있습니다.
오류메시지 : {‘msg’: ‘failed to parse parameter. name=template_object, stringToParse=-, paramString=-, paramStringAlias=null’, ‘code’: -2}
가이드 부탁드립니다.