使用 Python 和 REST API 将图像上传到 Shopify

问题描述 投票:0回答:2

我已通读 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'}}

有人对我可能犯了什么错误有建议吗?

python rest post request shopify
2个回答
0
投票

在请求中使用

json
而不是
data
应该可以解决问题:

# POST image data to Shopify
x = requests.post(shop_url, json = imgdata)

0
投票

将图像上传到 Shopify 是一项艰苦的工作,我刚刚在这里完成了一个工作上传器: https://stackoverflow.com/a/77412107/22669764 这会将图像获取到 Shopify 上(确保您的 API 具有文件读/写权限)。

我目前没有使用它来将图像添加到产品中,但该脚本将为您提供上传图像的shopify ID,即

gid://shopify/ImageSource/1234567890
,您应该能够使用它将其附加到您的产品中。

希望有帮助 🙂

© www.soinside.com 2019 - 2024. All rights reserved.