首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >共享graphQL查询

共享graphQL查询
EN

Stack Overflow用户
提问于 2018-11-01 19:27:57
回答 2查看 3.2K关注 0票数 2

我看不出如何为shopify格式化这个石墨烯查询。我需要在Django中用石墨烯复制这个curl查询:

代码语言:javascript
复制
    curl -X POST \
"https://<shop>.myshopify.com/api/graphql" \
-H "Content-Type: application/graphql" \
-H "X-Shopify-Storefront-Access-Token: <storefront-access-token>" \
-d '
{
  shop {
    collections(first: 5) {
      edges {
        node {
          id
          handle
        }
      }
      pageInfo {
        hasNextPage
      }
    }
  }
}
'

到目前为止,我已经:

代码语言:javascript
复制
access_token = 'some_token'
    headers = (
        { "Content-Type": "application/graphql" },
        { "X-Shopify-Storefront-Access-Token": access_token},
    )
    schema = graphene.Schema(query=Query)
    print(schema)
    result = schema.execute('{
        catsinuniform {
            collections(first: 5) {
              edges {
                node {
                  id
                  handle
                }
              }
              pageInfo {
                hasNextPage
              }
            }
        }'')
    print(result.data['catsinuniform'])

这种语法对石墨烯来说是错误的,但我不明白它应该是什么样子?一旦我有了正确的格式的数据,我就可以做一个请求帖子,从shopify商店取得我想要的信息。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-11-01 20:29:09

Graphene是GraphQL规范的一个实现,用于创建和执行您自己的GraphQL模式。不是,它是向现有GraphQL服务器发出请求的GraphQL客户端。您可以使用任何常规的HTTP库(如requests )调用Shopify API,也可以使用类似于gql的东西。一个简单的例子:

代码语言:javascript
复制
import requests

access_token = <YOUR TOKEN>
headers = {
    "Content-Type": "application/graphql",
    "X-Shopify-Storefront-Access-Token": access_token
}

query = """
{
  shop {
    collections(first: 5) {
      edges {
        node {
          id
          handle
        }
      }
      pageInfo {
        hasNextPage
      }
    }
  }
}
"""

request = requests.post('https://<YOUR SHOP>.myshopify.com/api/graphql', json={'query': query}, headers=headers)
result = request.json()
票数 3
EN

Stack Overflow用户

发布于 2020-01-30 19:06:34

在Shopify Python的5.1.0版本中,包含了使用Graphql查询Shopify Admin API的支持:

代码语言:javascript
复制
client = shopify.GraphQL()
query = '''
    {
        shop {
            name
            id
        }
    }
'''
result = client.execute(query)

共享Python文档

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53108114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档