如何获取基于python动态给定的多个可变标签的shopify产品?

HARSHIT BAJPAI

我正在尝试通过基于标签的过滤从shopify获取产品。标签将是动态的,不止一个,并且会发生变化。

import json
import time
import requests

API_KEY = 'xxxx'
PASSWORD = 'xxxx'
SHOP_NAME = 'xxxx'
API_VERSION = '2020-04' #change to the API version
shop_url = "https://%s:%s@%s.myshopify.com/admin/api/%s" % (API_KEY, PASSWORD, SHOP_NAME, API_VERSION)

def callShopifyGraphQL(GraphQLString, data):
    headers = {
        "X-Shopify-Storefront-Access-Token": 'xxxxxx',
        "accept":"application/json"      
    }
    response = requests.post(shop_url+'/graphql', json={'query': GraphQLString, 'variables': data}, headers=headers)
    answer = json.loads(response.text)
    return answer['data']

str1 = '0-12'
str2 = 'physical'

graphQLquery7 = """ {
  products(first:100, query:"tag:$tags") {
    edges {
      node {
        id
        tags
        title
        onlineStoreUrl
      }
    }
  }
}"""

tag = dict({
  "tags":[str1,str2]
})

resp = callShopifyGraphQL(graphQLquery7, tag)
print json.dumps(resp)


# This query works fine and gives multiple products
# graphQLquery2 = """{
#   products(first:100, query:"tag:[0-12, physical]") {
#     edges {
#       cursor
#       node {
#         id
#         tags
        
#         title
#         onlineStoreUrl
#       }
#     }
#   }
# }"""

我得到的输出基本上是一个JSON,产品为空

{u'extensions': {u'cost': {u'requestedQueryCost': 102, u'throttleStatus': {u'restoreRate': 50.0, u'currentlyAvailable': 998, u'maximumAvailable': 1000.0}, u'actualQueryCost': 2}}, u'data': {u'products': {u'edges': []}}}
{"products": {"edges": []}}

我无法在查询中将变量作为变量传递。我目前正在使用GraphQl,因为我找不到基于会变化的多个标签的REST API获取产品。

编辑:删除了Python标记,因为这不是python问题,我添加了答案以及关于如何执行此操作的两个方法

HARSHIT BAJPAI

我终于找到了我自己的问题的答案->

  1. 第一种方法是一种变通方法(或廉价的python技巧),它可能仅适用于问题中提到的场景。由于查询是作为字符串(多行字符串)传递的,因此我可以简单地使用占位符通过滥用括号(和逗号的行连续属性在其中添加变量,
graphQLquery1 = """ {
  products(first:100, query:"tag:[%s, %s]") {
    edges {
      node {
        id
        tags
        title
        onlineStoreUrl
      }
    }
  }
}"""%('3+', 'personal-social')

data = None
resp = callShopifyGraphQL(graphQLquery1, data)

但是,这不是在GraphQl查询中使用变量的方式。

  1. 下面是在GraphQl中使用变量的更合适的解决方案
graphQLquery2 = """ query($tags: String){
products(first:100, query:$tags) {
    edges {
      node {
        id
        tags
        title
        onlineStoreUrl
      }
    }
  }
}"""

str1 = '0-12'
str2 = 'physical'
tags = dict({
  "tags":[str1,str2]
})
resp = callShopifyGraphQL(graphQLquery2, tags)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

WooCommerce获取可变产品属性标签

来自分类Dev

给定ClearCase流名称,如何获取本地动态视图的标签?

来自分类Dev

如何基于Pandas python中的值获取多个列名称?

来自分类Dev

如何使用给定的数组动态获取属性

来自分类Dev

如何使用python从多个ul标签中获取id列表?

来自分类Dev

如何在python中基于给定数字创建多个字典?

来自分类Dev

如何基于动态数据创建多个对象?

来自分类Dev

如何基于动态数据创建多个对象?

来自分类Dev

获取标签woocommerce产品

来自分类Dev

获取标签woocommerce产品

来自分类Dev

如何基于所选列表获取HashMap标签

来自分类Dev

Shopify中按标签分类的相关产品

来自分类Dev

如何在python中获取给定像素标签的对象边界框?

来自分类Dev

如何在python中给定值的情况下获取标签名称?

来自分类Dev

当多个div标签的宽度可变时,如何居中?

来自分类Dev

如果满足特定条件,如何在 Shopify 产品页面上隐藏标签?

来自分类Dev

如何获取动态创建的图像标签的ID?

来自分类Dev

如何在 Laravel 中获取类似产品的标签?

来自分类Dev

如何基于多个日期组合获取值

来自分类Dev

获取产品系列的WooCommerce产品标签

来自分类Dev

如果Shopify商店的产品属于某个集合,其样式会有所不同,如何获取该产品的URL?

来自分类Dev

GraphQL,Shopify获取所有产品或产品总数

来自分类Dev

如何在产品/更新Webhook中获取Shopify商店ID?

来自分类Dev

路径。如何获取给定 Selector 的标签名称。刮痧

来自分类Dev

动态打开多个标签

来自分类Dev

如何获取在SQL Server中存在多个类别的产品

来自分类Dev

如何获取在SQL Server中存在多个类别的产品

来自分类Dev

如何获取在SQL Server中存在多个类别的产品

来自分类Dev

在可变产品中选择多个选项时,如何分隔Li项目?

Related 相关文章

  1. 1

    WooCommerce获取可变产品属性标签

  2. 2

    给定ClearCase流名称,如何获取本地动态视图的标签?

  3. 3

    如何基于Pandas python中的值获取多个列名称?

  4. 4

    如何使用给定的数组动态获取属性

  5. 5

    如何使用python从多个ul标签中获取id列表?

  6. 6

    如何在python中基于给定数字创建多个字典?

  7. 7

    如何基于动态数据创建多个对象?

  8. 8

    如何基于动态数据创建多个对象?

  9. 9

    获取标签woocommerce产品

  10. 10

    获取标签woocommerce产品

  11. 11

    如何基于所选列表获取HashMap标签

  12. 12

    Shopify中按标签分类的相关产品

  13. 13

    如何在python中获取给定像素标签的对象边界框?

  14. 14

    如何在python中给定值的情况下获取标签名称?

  15. 15

    当多个div标签的宽度可变时,如何居中?

  16. 16

    如果满足特定条件,如何在 Shopify 产品页面上隐藏标签?

  17. 17

    如何获取动态创建的图像标签的ID?

  18. 18

    如何在 Laravel 中获取类似产品的标签?

  19. 19

    如何基于多个日期组合获取值

  20. 20

    获取产品系列的WooCommerce产品标签

  21. 21

    如果Shopify商店的产品属于某个集合,其样式会有所不同,如何获取该产品的URL?

  22. 22

    GraphQL,Shopify获取所有产品或产品总数

  23. 23

    如何在产品/更新Webhook中获取Shopify商店ID?

  24. 24

    路径。如何获取给定 Selector 的标签名称。刮痧

  25. 25

    动态打开多个标签

  26. 26

    如何获取在SQL Server中存在多个类别的产品

  27. 27

    如何获取在SQL Server中存在多个类别的产品

  28. 28

    如何获取在SQL Server中存在多个类别的产品

  29. 29

    在可变产品中选择多个选项时,如何分隔Li项目?

热门标签

归档