API Python post request не работает. На PHP аналогичный запрос работает - PullRequest
0 голосов
/ 23 декабря 2019

Прошу прощения за мой плохой английский. У меня есть скрипт, который получает данные через API. Выдержка из документации API:

getissues - получить список случаев (этот метод использует параметр страницы, описанный в начале документа) Метод получает список совпадений, на одной странице дано 15 обращений.

Входной параметр - объект PARTNER-JSON со списком идентификаторов источников, не требуется, если не указан, будет выбран список открытых источников по умолчанию - STATUS-status ID - CATEGORY - это объект JSON со списком категорий

В php есть пример рабочего кода:

header('Content-type: application/json');
$wsdl = 'https://example.ru/api.php?action=getissues&page=1';
$soap = curl_init($wsdl);
curl_setopt($soap, CURLOPT_POST, 1);
curl_setopt($soap, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($soap, CURLOPT_POSTFIELDS, 'PARTNER={"0":"5401696","1":"5376079"}');
$messageID = curl_exec($soap);
print_r(json_decode($messageID));
curl_close($soap); \r\n

Мой запрос Python API:

import json
import requests 

data = {"PARTNER": [{"0":"5401696","1":"5376079"}]}
list_for_all = []
for n in range(5):
    api_url = f"https://example.ru/api.php?action=getissues&page={n}"
    res1 = requests.post(api_url, json=data)
    res = json.loads(res1.text)
    res2 = res['RESULTS']
    list_for_all.append(res2)

print(list_for_all)

API в моем запросе предоставляет мне открытые источники (см. Выдержку из документации), как если бы пост-запрос с параметром PARTNER не существовал.

Скажите, пожалуйста, почему это происходит и что мне нужно исправить в коде, чтобы он передавал данные только из источников, указанных в почтовом запросе?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...