(수정) REST API 에서 음성 합성 뉴톤톡을 이용하려하는데 status_code가 400이 나옵니다. (Python3)


xml 을 Post 하라고 나와있는데 처음이라서요.

제가 아는 대로 requests 를 이용하여 post 하려는데 Dict 형식으로 data를 보내는 것 밖에 몰라서

xml 을 dict로 변환한 뒤 json으로 한 번 더 깔끔하게 변환했다가 다시 dict로 변환하여

requests.post 의 인수로 넣어주었습니다. 이렇게 하면 안되는 걸까요?

import requests
import json
import xml.etree.ElementTree as etree
import xmltodict

host = “https://kakaoi-newtone-openapi.kakao.com

path = “/v1/synthesize”

authorization = “a5ee2b6994b2210fdbaf7a8ddcc23f11”

content_Type = “application/xml”

url = host + path

headers = {‘Content-Type’ : content_Type,
‘Authorization’:authorization
}

xml = “”“<?xml version="1.0" encoding="UTF-8"?>

그는 그렇게 말했습니다.
잘 지냈어? 나도 잘 지냈어.
금요일이 좋아요.
”“”

dict_type = xmltodict.parse(xml)
json_type = json.dumps(dict_type)
dict2_type = json.loads(json_type)

data = dict2_type

r = requests.post(url, headers = headers, data = data)

print(r.json())

{‘code’: 400, ‘description’: ‘fail to parse the xml body’}

안녕하세요.

401이 나왔다면 인증이 실패했을 것 같습니다.
response body에 에러코드와 에러 메시지를 보내드리고 있으니 내용을 확인 부탁드립니다.

감사합니다.

authorization 에서

KakaoAK 를 지우고 API 키만 입력하니
status_code 가 400으로 바뀌었네요!..

안녕하세요.

전달해주시는 data(xml)는 카카오 SSML 포맷에 맞아야합니다.

가이드의 설명과 예제를 참고 부탁드립니다.

감사합니다.