Решено - Python запрашивает API - создание действительного JSON - PullRequest
0 голосов
/ 21 апреля 2020

Доброе утро всем,

Я пытаюсь сделать POST-запрос к этому API . Ошибка возникает, когда я создаю часть данных, которые необходимо отправить.

    #urlUploadFile
    url = urls.get('urlUploadFile')
    headers = {'Content-Type': 'multipart/form-data'}

    #sys.argv[6]
    payload = {
        'jsonInputParameters': F'{{"parentID":"{sys.argv[6]}}}","duplicateResolution ": "TimeStampSuffix"}}'}

    payloadJson = json.dumps(payload)

    #payload['jsonInputParameters']["parentID"] = sys.argv[6]
    #payload['jsonInputParameters']["duplicateResolution"] = "TimeStampSuffix"

    files = [
        ('primaryFile', open(fileName, 'rb'))
    ]

    print("Execute post Upload")
    response = requests.post(url, data=payloadJson, files=files, auth=HTTPBasicAuth(credentials.get('userCEC'), credentials.get('passwordCEC')))

Я знаю, что при создании данных «полезной нагрузки» возникает ошибка, но я не знаю, как именно Я должен создать строку и добавить в нее значение переменной. Я создаю это и затем использую:

json.dumps(payload)

Используя это, я получаю:

ValueError: Data must not be a string.

Любое предложение о том, как я могу создать информацию «данных», чтобы правильно ее использовать?

Спасибо!

Решение:

Как сказал Rishi Dev , мне не нужны "json .dumps" () "а также у меня была ошибка при создании" полезной нагрузки ", добавив дополнительный"}} "после вставки переменной. После этих двух петиция была успешно завершена, и я могу продолжить с остальным кодом.

Спасибо!

...