при попытке комментировать запрос на получение с помощью GitHub API появляется ошибка «Проблемы с синтаксическим анализом JSON» - PullRequest
0 голосов
/ 09 февраля 2020

Я пытаюсь комментировать запрос на получение доступа, используя 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

Любая помощь на это был бы оценен!

1 Ответ

1 голос
/ 09 февраля 2020

Ошибка, которую вы видите, относится к полезной нагрузке, которая была отправлена.

Предполагая, что res содержит строку, которая является фактическим телом комментария, я думаю, что вам нужно пропустить всю выплату через json.dumps, затем укажите это как data параметр requests.post. Так что измените его на что-то вроде:

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

запрашивает документацию на самом деле содержит пример, связанный с github API.

...