Pythonにて、楽天クーポンAPIにRequestsを使用しXMLをPOSTする方法
環境
Mac OS 10.15
Jupyter notebook
エクセルにてCSVを管理し、XMLへ書き出し
それを読み込みrequests.postしたいと考えております
エクセルCSVからXMLへの書き出しは下記を参考にさせて頂きました
https://www.gis-py.com/entry/py-csv2xml
その他楽天APIクーポン情報を取得があり
JSONによりGETで取得はでき
POSTも簡単に考えておりました
考え方が違うのか、XMLの送り方が違うのか
<Response [400]> となります
XMLに必須項目は入っております
色々と検索をしてみましたが
解決までたどり着けず投稿をさせていただきました
ご助言頂けましたら幸いです
# ■■■■■■■■ 認証情報 ■■■■■■■■■■ serviceSecret=b"*******" licenseKey=b"*********" headers = { 'Authorization' : b"ESA " + base64.b64encode(serviceSecret + b':' +licenseKey), 'Content-Type': 'text/xml', } # post文字列生成 url = 'https://api.rms.rakuten.co.jp/es/1.0/coupon/issue' with open('/Users/***/Desktop/sample.xml', mode='rt', encoding='utf-8') as f: xml_string = f.read() root = ET.fromstring(xml_string) ret = ET.tostring(root, encoding='utf-8') #print(ret) res = requests.post(url, data=ret, headers=headers)
その他試したXMLの読み込み方
tree = ET.parse('/Users/***/Desktop/sample.xml') root = tree.getroot()
回答1件
あなたの回答
tips
プレビュー