このPOST要求をPostmanで作成すると、データが取得されます。私がPython 2.7(Jupyterノートブックを使用)でそれを行うと、「JSONオブジェクトがデコードできない」というエラーが表示されます。私は間違って何をしていますか、どうすればそれを動作させることができますか? APIのPOST要求はPostmanで動作しますが、Pythonでは動作しません
import json
import requests
url = 'http://api.scb.se/OV0104/v1/doris/en/ssd/BE/BE0101/BE0101A/BefolkningNy'
headers={'content-type': 'application/json'}
payload = {
"query": [
{
"code": "ContentsCode",
"selection": {
"filter": "item",
"values": [
"BE0101N1"
]
}
},
{
"code": "Tid",
"selection": {
"filter": "item",
"values": [
"2010",
"2011"
]
}
},
{
"code": "Region",
"selection": {
"filter": "item",
"values": [
"01"
]
}
}
],
"response": {
"format": "json"
}
}
headers = {'Content-type': 'application/json', 'Accept': 'text/plain'}
r = requests.post(url, data=payload)
print(r.text)
print(r.json())
マニュアルはここにあるが、それは多くの助けではありません。
http://www.scb.se/en_/About-us/Open-data-API/API-for-the-Statistical-Database-/
ヘッダーを2回定義していて、これをリクエストに追加していません。 –
@Jérôme、それらを追加することは何の違いもないので、私は彼らが試したことの例であると思います。 –
@PadraicCunningham True。私はこのウェブサイトで多くのソリューションを試しました – Celebrian