bugfix> python > 投稿

APIを使用して、新しいshopifyストアに2枚の写真を追加しようとしています。ただし、1枚だけでなく2枚の写真をアップロードする必要があります。これは私がこれまでに持っているものですが、機能していないことをアドバイスしてください。

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 件
  • 両方の画像に同じエンコード値を渡すため、このコードは1つの画像のみを製品にアップロードします。以下のコードを編集し、両方の画像のImageオブジェクトの作成を分離しました。これにより、両方の画像がShopifyにアップロードされます。

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

あなたの答え