Я создаю новый файл в публичном репозитории GitHub, используя python.
Когда я пытаюсь сделать это:
import json
import requests
with open('README.md', 'r') as f:
content = f.read()
payload = {"message": "Add text.txt",
"author": {"name": name,"email": email},
"content": content}
result = requests.put("https://api.github.com/repos/<GitHubLogin>/<Repo>/contents/README.md",
auth=(name, password),
json=payload)
print(result.json())
Я получаю "{'message': 'содержимое недействительно Base64', ....}"
Если я попытаюсь сделать это:
import base64
import json
import requests
with open('README.md', 'r') as f:
content = f.read()
content = bytes(content, "utf-8")
contnet = base64.b64encode(content)
payload = {"message": "Add text.txt",
"author": {"name": name,"email": email},
"content": content}
result = requests.put("https://api.github.com/repos/<GitHubLogin>/<Repo>/contents/README.md",
auth=(name, password),
json=payload)
print(result.json())
Я получаю
Traceback (most recent call last)
19 result = requests.put("https://api.github.com/repos/VadymKhodak/tester/contents/README.md",
20 auth=(name, password),
---> 21 json=payload)
TypeError: Object of type 'bytes' is not JSON serializable
Как решить эту проблему?