我从以下网站获得 Status 400更新文件内容Github API,即使 400 不在可能的列表中HTTP 响应状态!
我的问题是content
密钥需要进行 Base64 编码。但是,当我将内容转换为 base64 时,API 会响应“解析 JSON 时出现问题”错误。
感觉跟这个有一点关系f
字符串。如果我删除它们并使用变量名称,请求将失败并出现相同的错误。
我如何成功提交此回复?
def convert_to_base64(md_payload):
encoded_payload = base64.b64encode(md_payload.encode('utf-8'))
return encoded_payload
def log_todo(username, repo_name, filename, api_key, sha, encoded_payload):
response= requests.put(
f'https://api.github.com/repos/{username}/{repo_name}/contents/{filename}',
headers = {
'Accept': 'application/vnd.github+json',
'Authorization': f'Bearer {api_key}'
},
data = {
"sha": f'{sha}',
"message": "TEST",
"committer": {
"name": "TEST",
"email": "[email protected]"
},
"content": f'{encoded_payload}'
}
)
logging.error(f'##### Was TODO Logged in VCS?: {response.text}')
return response.status_code
Results:没有关于此消息的信息,也没有状态 400doc_url
{
"message":"Problems parsing JSON",
"documentation_url":"https://docs.github.com/rest/reference/repos#create-or-update-file-contents"
}
400