尝试使用 GitHub API 评论拉取请求时收到错误 'Problems parsing JSON'

receiving error 'Problems parsing JSON' when trying to comment on a pull request Using GitHub API

我正在尝试使用 githubs api 对拉取请求发表评论,但我收到标题中显示的错误。我在堆栈溢出上看到的唯一解决方案是 json.dumps 数据,但这并没有解决我的问题。我可能做错了什么?

这是我的代码

    def _pr_comment(self, res, pr_id):
        # POST / repos /: owner /:repo / issues /: issue_number / comments

        payload = {"body": json.dumps(res)}

        header = {'Authorization': 'token TOKEN',
                  "Accept": "application/vnd.github.+json"}

        response_decoded_json = requests.post(
            f'https://api.github.com/repos/REPO/Database-System/issues/{pr_id}/comments',
            data=payload, headers=header)

        response_json = response_decoded_json.json()

        print(response_json, response_decoded_json.status_code)

这是我收到的完整回复以及回复代码

{'message': 'Problems parsing JSON', 'documentation_url': 'https://developer.github.com/v3/issues/comments/#create-a-comment'} 400

如有任何帮助,我们将不胜感激!

您看到的错误与提交的负载有关。

假设 res 包含一个字符串,它是评论的实际主体,我认为您需要 运行 通过 json.dumps 整个 payoad 然后将其作为 data 参数到 requests.post。所以将其更改为:

payload = json.dumps({"body": res})

requests documentation实际上包含一个例子,与githubAPI有关。