使用Python API上传多张图片到Shopify API

10

我正在尝试使用Python API在Shopify上添加多张图片,但是我无法将2张图片上传到一个产品。目前只能上传一张图片。请问如何在Shopify API中添加多张图片?

import shopify    
API_KEY = 'dsfsdsdsdsdsad'
PASSWORD = 'sadsdasdasdas'

shop_url = "https://%s:%s@teststore.myshopify.com/admin" % (API_KEY, PASSWORD)
shopify.ShopifyResource.set_site(shop_url)



path = "audi.jpg"
path2 = "audi2.jpg"

new_product = shopify.Product()
new_product.title = "Audi pictures test "
new_product.body_html = "body of the page <br/><br/> test <br/> test"


variant = shopify.Variant({'price': 1.00, 'requires_shipping': False,'sku':'000007'})
new_product.variants = [variant]
image = shopify.Image()
image2 = shopify.Image()



with open(path, "rb") as f:
    filename = path.split("/")[-1:][0]
    filename2 = path2.split("/")[-1:][0]
    encoded = f.read()
    image.attach_image(encoded, filename=filename)
    image2.attach_image(encoded, filename=filename2)

new_product.images = [image,image2]
new_product.save()
1个回答

14

我没有Shopify账号来验证下面的代码,但我已经查看过源代码,以下是适用于您的代码:

import shopify    
API_KEY = 'dsfsdsdsdsdsad'
PASSWORD = 'sadsdasdasdas'

shop_url = "https://%s:%s@teststore.myshopify.com/admin" % (API_KEY, PASSWORD)
shopify.ShopifyResource.set_site(shop_url)



path = "audi.jpg"
path2 = "audi2.jpg"

new_product = shopify.Product()
new_product.title = "Audi pictures test "
new_product.body_html = "body of the page <br/><br/> test <br/> test"


variant = shopify.Variant({'price': 1.00, 'requires_shipping': False,'sku':'000007'})
new_product.variants = [variant]
success = new_product.save()

if success:
    product_id = new_product.id
    image = shopify.Image({"product_id": product_id})
    image2 = shopify.Image({"product_id": product_id})
    filename = path.split("/")[-1:][0]
    filename2 = path2.split("/")[-1:][0]
    encoded = f.read()
    image.attach_image(encoded, filename=filename)
    image2.attach_image(encoded, filename=filename2)
    image.save()
    image2.save()

这个想法是先创建产品,然后再附加图像。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接