XML POST リクエストを Python で RESTful API に送信する簡単な例はありますか? Harvest API で urllib2 Python ライブラリを使用して「新しいプロジェクトを作成」しようとしていますが、うまくいきません。ペイロード変数は有効な XML ドキュメントであり、以下に示すドキュメント ([新しいプロジェクトの作成] 見出しの下) のほぼコピー/貼り付けです。
http://www.getharvest.com/api/projects
これが私が実行しようとしているコードです。
def postRequest():
""" Makes POST request to url, and returns a response. """
url = 'http://subdomain.harvestapp.com/projects'
opener = urllib2.build_opener()
opener.addheaders = [('Accept', 'application/xml'),
('Content-Type', 'application/xml'),
('Authorization', 'Basic %s' % base64.encodestring('%s:%s' % (self.username, self.password))[:-1]),
('User-Agent', 'Python-urllib/2.6')]
req = urllib2.Request(url=url, data=payload)
assert req.get_method() == 'POST'
response = self.opener.open(req)
print response.code
return response
応答コード 201 (Created) ではなく、応答コード 200 (Status OK) を受け取りました... これは Harvest サポート担当者への質問ですか?
誰でもヒントをいただければ幸いです。
ありがとう、ジェフ。