提问者:小点点

更新GitHub文件的简单python请求


我还没有看到关于这个主题的很多好的资源,但是根据我发现的结果,我设法制作了这个脚本来更新一个简单的文本文件,使其只有一个1:

payload = {
  "message": "update file.txt",
  "committer": {
    "name": "<name>",
    "email": "<email>"
  },
  "content": "1",
  "sha": "<sha>"
}

url = "https://api.github.com/repos/<username>/<repo>/contents/file.txt"
token = '<token>'
usern = '<username>'

rget = requests.get(url)
print(rget)

rput = requests.put(url, auth=(usern, token), data=json.dumps(payload))
print(rput)

get请求可以工作,但put请求给出422错误。 你知道我该怎么修正这个错误吗?


共1个答案

匿名用户

发现了问题:需要对消息进行编码。 使用这个:

message = "1"
message_bytes = message.encode("ascii")
content = base64.b64encode(message_bytes)