Post 在 python3 中使用 GraphQL 正文请求

Post request in python3 with GraphQL Body

我正在尝试调用 Product Hunt V2 GraphQL API, 当我使用 Python "requests" 库执行 POST 请求时,出现以下错误

{'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.dumps" 在 Json 中编码有效负载,但我总是得到相同的 400 状态代码。

我做错了什么?

我解决了,显然我用错了json.dumps。

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