我已通读 Shopify API 文档,了解如何从此处将图像插入 Shopify: https://shopify.dev/docs/admin-api/rest/reference/products/product-image
我有以下代码,可以成功连接到 Shopify 并检索与产品关联的图像:
import requests
# Connect to Shopify
shop_url = "https://%s:%[email protected]/admin/api/%s/products/5161320611973/images.json" % (API_KEY, PASSWORD, API_VERSION)
# Get data
data = requests.get(shop_url)
此操作成功,现在我想将新图像上传到产品。 这是我正在使用的代码:
# Create image data
imgdata = {
"image": {
"src": "https://pkmncards.com/wp-content/uploads/en_US-CP-079-charizard_v.jpg"
}
}
# POST image data to Shopify
x = requests.post(shop_url, data = imgdata)
这给出了以下结果:
<Response [400]>
{'errors': {'image': 'expected String to be a Hash'}}
有人对我可能犯了什么错误有建议吗?
在请求中使用
json
而不是 data
应该可以解决问题:
# POST image data to Shopify
x = requests.post(shop_url, json = imgdata)
将图像上传到 Shopify 是一项艰苦的工作,我刚刚在这里完成了一个工作上传器: https://stackoverflow.com/a/77412107/22669764 这会将图像获取到 Shopify 上(确保您的 API 具有文件读/写权限)。
我目前没有使用它来将图像添加到产品中,但该脚本将为您提供上传图像的shopify ID,即
gid://shopify/ImageSource/1234567890
,您应该能够使用它将其附加到您的产品中。
希望有帮助 🙂