Я продолжаю получать следующую ошибку:
Код: Выделить всё
*** square.core.api_error.ApiError: status_code: 400, body: {'errors': [{'category': 'INVALID_REQUEST_ERROR', 'code': 'INVALID_CONTENT_TYPE', 'detail': 'Received multiple request parts. Please only supply zero or one `parts` of type application/json.'}]}
Когда я пытаюсь загрузить около ~ 800 байтов JPEG [очень зерно] в песочнице разработки для API Square с использованием следующего кода:
Код: Выделить всё
pdf_filepath = 'local/path/to/file.jpg'
idem_key = 'some-unique_key_like_square_invoice_id'
f_stream = open(pdf_filepath, "rb")
try:
# I have tried using a stream as well, still the same error
invoice_pdf = SQUARE_CLIENT.invoices.create_invoice_attachment(
invoice_id=square_original_invoice.id,
# this also does not work
# image_file=f_stream,
image_file=pdf_filepath,
request={
"description": f"Invoice-{pdf_filepath}",
"idempotency_key": idem_key,
},
)
except ApiError as e:
print(f"ERROR _attach_pdf_to_vendor_payment with errors {e}")
< /code>
В онлайн -API Sandbox API я получаю ошибку ответа 400: < /p>
// cache-control: no-cache
// content-type: application/json
// date: Wed, 30 Apr 2025 13:35:06 GMT
// square-version: 2025-04-16
{
"errors": [
{
"code": "BAD_REQUEST",
"detail": "Total size of all attachments exceeds Sandbox limit: 1000 bytes",
"category": "INVALID_REQUEST_ERROR"
}
]
}
< /code>
Это нормально работало в старом API Pre 42, с незначительным изменением синтаксиса, и я знаю, что теперь ограничение накладывается на ограничение на 1000 байтов для вложения, но почему я не могу загрузить вложения в песочницу?file
Связанные документы https://developer.squareup.com/docs/inv ... ttachments
Подробнее здесь: https://stackoverflow.com/questions/796 ... lease-only