Отправить запрос в python3 с GraphQL Body - PullRequest
0 голосов
/ 07 ноября 2019

Я пытаюсь вызвать API-интерфейсы GraphQL Product Hunt V2, когда я выполняю запрос POST с использованием библиотеки «запросов» Python, я получаю следующую ошибку

{'error': 'Bad Request', 'status': 400}

Я пытался выполнить тот же запрос в Postman, используяТип тела GraphQL, и я успешно получил код состояния 200, поэтому я считаю, что проблема в том, как я передаю код GraphQL в теле запроса. Вот код, который я использую:

import requests, json

url = "https://api.producthunt.com/v2/api/graphql" 

payload = {
  "query": "query { posts(first: 1) { edges { node { id, name } } } }"
}

header = {
"Accept": "application/json",
"Content-Type": "application/json",
"Authorization": "Bearer MYTOKEN",
"Host": "https://api.producthunt.com/v2/api/graphql"
} 


response_decoded_json = requests.post(url, headers=header, data=payload)
response_json 

Просматривая ссылки, я пытался кодировать полезную нагрузку в Json, используя "json.dumps", но я всегда получаю один и тот же код состояния 400.

Что яделаешь неправильно?

1 Ответ

0 голосов
/ 09 ноября 2019

Я решил это, по-видимому, я неправильно использовал json.dumps.

r = requests.post(url, headers=headerz, data=json.dumps(queryz))
...