你如何在 python 中处理 graphql 查询和片段?

Posted

技术标签:

【中文标题】你如何在 python 中处理 graphql 查询和片段?【英文标题】:How do you handle graphql query and fragment in python? 【发布时间】:2022-01-16 02:22:44 【问题描述】:

我正在尝试使用 requests 库进行查询,但遇到了问题。我怀疑这与片段的处理有关,但我不确定。

当我运行代码时,我得到响应 400。这是我的代码:

import requests
import json

query = """query GetAxieTransferHistory($axieId: ID!, $from: Int!, $size: Int!) 
  axie(axieId: $axieId) 
    id
    transferHistory(from: $from, size: $size) 
      ...TransferRecords
      __typename
    
    __typename
  


fragment TransferRecords on TransferRecords 
  total
  results 
    from
    to
    timestamp
    txHash
    withPrice
    __typename
  
  __typename
"""

params = 
  "axieId": "9082310",
  "from": 0,
  "size": 1


url = 'https://axieinfinity.com/graphql-server-v2/graphql'

r = requests.post(url, json="query": query, "params": params)
print(r.status_code)

提前致谢!

【问题讨论】:

【参考方案1】:

尝试将您的 params 密钥更改为 variables

r = requests.post(url, json="query": query, "variables": params)

【讨论】:

成功了,非常感谢! @MaxB,欢迎来到 SO!如果答案可以帮助您解决问题,您应该考虑支持并接受它。这样,您既可以帮助其他开发人员寻找解决问题的方法,也可以“奖励”答案的作者

以上是关于你如何在 python 中处理 graphql 查询和片段?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 apollo graphql 处理授权标头?

如何在 GraphQL 中处理错误并发送响应

如何在 python 函数中编写 graphQL 突变?

如何在 Python 中验证 GraphQL 突变

如何在 GraphQL Apollo 客户端中处理异步突变

使用 Python 请求处理 Graphql 突变