@Stepan47
Я программист, преимущественно на Python, Java, С#

Как отправить настолько сложный запрос к сайту smartcat?

Привет.
Не могу разобратся как послать multiplay запрос на сайт smartcat.
Мне нужно создать проект на их сайте, вот такая у меня есть документация.
Постоянно возвращает ошибку 500,
Вот мой код:
import requests
import base64
import json


def run():
    account_id = 'f802238b-58****ab51-2989606f4745'
    key = '3_0KgI4JvUDQNLcluZYnzA4YCad'
    base_url = 'https://smartcat.ai/'
    key = account_id+ ':' + key

    projectID = "d5925bdb-******-969a-a70ef6bc703a"
   # project = base64.b64encode(bytes(project,"utf-8"))
    encoded_key = base64.b64encode(bytes(key, 'utf-8'))
    with open("project.json","r") as f:
        project = f.read()
    project = base64.b64encode(bytes(project,"utf-8"))


    headers = {
    "Authorization" : "Basic "+encoded_key.decode(),
    "project" : project.decode()
    }

    response = requests.post(base_url+'/api/integration/v1/project/create', headers=headers)

    print(response)
run()

Там используется base64 преобразователь, он нужен потому что API принимает только его :)
Вопрос:
Как мне отправить запрос на создание нового проекта, чтоб он создался, без ошибок.
  • Вопрос задан
  • 159 просмотров
Пригласить эксперта
Ответы на вопрос 2
Что-то ты перемудрил. Нет необходимости ничего энкодить. Requests сделает все сам. Например,
files = {'file1': open('some_project_file1.txt', 'rb'), 'file2': open('some_project_file2.txt', 'rb')}
response = requests.post(base_url+'/api/integration/v1/project/create', data=project_json, files=files)
Ответ написан
LazyTalent
@LazyTalent
Data Engineer, Freelancer
Знаешь, я всегда думал, что человек с таким опытом программирования должен без проблем читать и понимать тексты на английском языке.
import requests
from requests.auth import HTTPBasicAuth
import base64
import json
    
    
def run():
    account_id = 'f802238b-58****ab51-2989606f4745'
    key = base64.b64encode(bytes('3_0KgI4JvUDQNLcluZYnzA4YCad'))
    auth = HTTPBasicAuth(account_id, key)

    url = 'https://smartcat.ai/api/integration/v1/project/create'
   
    with open("project.json","r") as f:
        project = json.load(f)
   
   
    headers = {'Content-Type': 'application/json'}

    response = requests.post(url, data=project, headers=headers, auth=auth)

    print(response)
run()
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы