2016-04-12 3 views
2

Интересно, если это возможно, чтобы преобразовать следующую команду OpenFIGI API в Python:новообращенного локона на питон

curl -v -X POST 'https://api.openfigi.com/v1/mapping' \ 
    --header 'Content-Type: text/json'    \ 
    --data '[{"idType":"ID_WERTPAPIER","idValue":"851399","exchCode":"US"}]' 

Я попытался следующее:

import requests 
data = {["idType":"ID_WERTPAPIER","idValue":"851399","exchCode":"US"]} 
r=requests.post('https://api.openfigi.com/v1/mapping', headers={"Content-Type": "text/json"},data=data) 

Но г получает значение «Response [ 400]». Согласно вступлению на страницу https://www.openfigi.com/api#introduction, это идентифицирует сценарий, в котором «Тело запроса не является массивом». Я действительно новичок в завитках, любое предложение поможет.

ответ

3

Первый апи ожидает массив объектов, а не объект с массивом (это даже недействителен JSON), так правильно это:

data = [{"idType":"ID_WERTPAPIER","idValue":"851399","exchCode":"US"}] 

Второй - апи ожидает JSON, поэтому используйте параметр JSON, а не данные

r=requests.post('https://api.openfigi.com/v1/mapping', 
       headers={"Content-Type": "text/json"}, 
       json=data) 
+0

Большое спасибо! Он отлично работает! – esthershen

+0

@ esthershen примите ответ тогда :)) – aershov

Смежные вопросы