[带有GraphQL正文的python3中的发布请求

问题描述 投票:0回答:1

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

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

我使用GraphQL正文类型在Postman中尝试了相同的请求,并且成功获取了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状态代码。

我在做什么错?

python-3.x oauth graphql http-post
1个回答
0
投票

我解决了它,显然我在错误地使用json.dumps。

r = requests.post(url, headers=headerz, data=json.dumps(queryz))
© www.soinside.com 2019 - 2024. All rights reserved.