Python 使用Square Connect API上载项目图像

Python 使用Square Connect API上载项目图像,python,square-connect,Python,Square Connect,我已经回顾了Square Connect API文档中发布的示例和GitHub上的示例,但是,我似乎无法根据上传图像的指导调整这些示例: 挑战的一部分是使用内容类型:多部分/表单数据,只有图像上传需要这些数据,因此文档不存在(使用connect api文档) 我的最终问题是,Square能否发布一个如何上传图片的示例?最相关的示例将显示如何使用图像更新多个项目,而不是仅更新一个项目。非常感谢您的帮助。感谢您在文档中指出这一差距。下面的函数使用Python库上载项目的图像(该库使多部分/表单数据请

我已经回顾了Square Connect API文档中发布的示例和GitHub上的示例,但是,我似乎无法根据上传图像的指导调整这些示例:

挑战的一部分是使用内容类型:多部分/表单数据,只有图像上传需要这些数据,因此文档不存在(使用connect api文档)


我的最终问题是,Square能否发布一个如何上传图片的示例?最相关的示例将显示如何使用图像更新多个项目,而不是仅更新一个项目。非常感谢您的帮助。

感谢您在文档中指出这一差距。下面的函数使用Python库上载项目的图像(该库使多部分/表单数据请求大大简化)。请注意,如果没有,您将需要首先

import requests

def upload_item_image(item_id, image_path, access_token):

  endpoint_path = 'https://connect.squareup.com/v1/' + your location + '/items/' + item_id + '/image'

  # Don't include a Content-Type header, because the Requests library adds its own
  upload_request_headers = {'Authorization': 'Bearer ' + access_token,
                            'Accept': 'application/json'}

  # Be sure to set the correct MIME type for the image
  files = [('image_data', (image_path, open(image_path, 'rb'), "image/jpeg"))] 
  response = requests.post(endpoint_path, files=files, headers=upload_request_headers)

  # Print the response body
  print response.text
  • item\u id
    是要为其上载图像的项目的id
  • image\u path
    是您正在上载的图像的相对路径
  • access\u token
    是您代表的商户的访问令牌

无法在一个请求中将多个项目的图像上载到此端点。相反,为每个项目发送单独的请求

谢谢斯蒂芬的回答。不幸的是,我不能让它工作。当我执行代码时,它只是运行,没有任何事情发生。我应该补充一点,我确实在最后一行代码中遇到了一个与括号相关的语法错误,我将其更改为:print(response.text())。您在代码中是否看到需要修改以使其正常工作的内容?提前感谢您的帮助!