Shopify graphQL 查询
Shopify graphQL query
我看不出如何为 shopify 设置此石墨烯查询的格式。我需要在 Django 中用石墨烯复制这个 curl 查询:
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
}
}
}
}
'
到目前为止我有:
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'])
这种语法对于石墨烯来说是错误的,但我不明白它应该是什么样子?一旦我获得了正确格式的数据,我就可以执行请求 post 以从 shopify storefrontapi
获取我想要的信息
Graphene 是 Python 的 GraphQL 规范的实现,用于创建和执行您自己的 GraphQL 模式。它 不是 用于向现有 GraphQL 服务器发出请求的 GraphQL 客户端。您可以使用任何常规 HTTP 库(例如 requests
)调用 Shopify API,或者您可以使用 gql 之类的东西。一个简单的例子:
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()
自 Shopify Python API 版本 5.1.0 起,支持使用 Graphql 查询 Shopify Admin API:
client = shopify.GraphQL()
query = '''
{
shop {
name
id
}
}
'''
result = client.execute(query)
我看不出如何为 shopify 设置此石墨烯查询的格式。我需要在 Django 中用石墨烯复制这个 curl 查询:
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
}
}
}
}
'
到目前为止我有:
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'])
这种语法对于石墨烯来说是错误的,但我不明白它应该是什么样子?一旦我获得了正确格式的数据,我就可以执行请求 post 以从 shopify storefrontapi
获取我想要的信息Graphene 是 Python 的 GraphQL 规范的实现,用于创建和执行您自己的 GraphQL 模式。它 不是 用于向现有 GraphQL 服务器发出请求的 GraphQL 客户端。您可以使用任何常规 HTTP 库(例如 requests
)调用 Shopify API,或者您可以使用 gql 之类的东西。一个简单的例子:
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()
自 Shopify Python API 版本 5.1.0 起,支持使用 Graphql 查询 Shopify Admin API:
client = shopify.GraphQL()
query = '''
{
shop {
name
id
}
}
'''
result = client.execute(query)