markitondemand InteractiveChart APIを使用するためにリクエストを正しくフォーマットする際に問題があります。どのようにこれを正しく行うことができますか?Python:適切なhttpリクエストにmarkit on demand apiを使用してJSONパラメータを適切にフォーマットする
参照:ここでhttp://dev.markitondemand.com/MODApis/
が適切な要求の例である:ここで
http://dev.markitondemand.com/MODApis/Api/v2/InteractiveChart/json?parameters=%7B%22Normalized%22%3Afalse%2C%22NumberOfDays%22%3A10%2C%22DataPeriod%22%3A%22Day%22%2C%22Elements%22%3A%5B%7B%22Symbol%22%3A%22AAPL%22%2C%22Type%22%3A%22price%22%2C%22Params%22%3A%5B%22c%22%5D%7D%5D%7D
は要求を構築する私のコードです:私がログインしたときに
import requests
import json
url2 = 'http://dev.markitondemand.com/MODApis/Api/v2/InteractiveChart/json'
elements = [
{
'Symbol': 'GOOG',
'Type': 'price',
'Params': {'price': ['c']},
}
]
req_obj = {
'Normalized': 'false',
'NumberOfDays': 3,
'DataPeriod': 'Day',
'Elements': elements
}
resp = requests.get(url2, params={'parameters': json.dumps(req_obj)})
、ここでは出力されresp.url:
http://dev.markitondemand.com/MODApis/Api/v2/InteractiveChart/json?parameters=%7B%22Elements%22%3A+%5B%7B%22Type%22%3A+%22price%22%2C+%22Params%22%3A+%7B%22price%22%3A+%5B%22c%22%5D%7D%2C+%22Symbol%22%3A+%22GOOG%22%7D%5D%2C+%22NumberOfDays%22%3A+3%2C+%22DataPeriod%22%3A+%22Day%22%2C+%22Normalized%22%3A+%22false%22%7D
ここで何が間違っていますか?
ありがとうございました! Python3をやっている人なら、urllib - > urllib.parseを作成してください。 –
最後の例のようにダンプを使うこともできますが、外側のdictで呼び出す必要はありません。 –