#python #graphql
Вопрос:
У меня есть код завитка, сгенерированный из-за бессонницы, который отлично работает. Я просто не могу понять, как воспроизвести его с помощью запроса python.
curl --request POST
--url MY_SERVER_URL
--header 'Accept: application/json'
--header 'Content-type: multipart/form-data; boundary=---011000010111000001101001'
--header 'Authorization: AUTH_TOKEN'
--form 'operations={
"query": "mutation($file: Upload!, $path: String!, $private: Boolean) { uploadFile(file: $file, path: $path, private: $private) }",
"variables": {
"file": null,
"path": "test",
"private": false
}
}'
--form 'map={ "0": ["variables.file"] }'
--form '0=@E:DevelopmentTechnologyPythonsmall_utilitiesbarwisrandom-filesfilescsvsabove serious.csv'
Спасибо
Ответ №1:
Я нашел решение. Если у кого-то есть такая же проблема, вот справочный код.
file = open('FILE_PATH', 'rb')
auth_headers = {
"Authorization": f"Bearer {token}"
}
query = """
mutation($file: Upload!, $path: String!, $private: Boolean) {
uploadFile(file: $file, path: $path, private: $private)
}
"""
variables = {
"file": None,
"path": 'test',
"private": True
}
operations = json.dumps({
"query": query,
"variables": variables
})
map = json.dumps({ "0": ["variables.file"] })
response = requests.post(graphql_url, data = {
"operations": operations,
"map": map
},
files = {
"0" : file
},
headers = auth_headers
)