使用Square Connect API上传项目图像

时间:2015-01-16 07:13:29

标签: python square-connect

我已经回顾了Square Connect API文档中发布的示例以及GitHub上的示例,但是,我似乎无法根据上传图片的指南调整这些示例:http://docs.connect.squareup.com/#post-image < / p>

部分挑战是使用Content-Type:multipart / form-data,只有图片上传需要,因此文档不存在(使用connect-api文档)。

我的最终问题是,请问Square可以发布如何上传图片的示例吗?最相关的是一个示例,显示如何使用图像更新多个项目而不是一个项目。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:2)

感谢您在文档中指出这一差距。下面的函数使用Requests Python库来上传项目的图像(这个库使得multipart / form-data请求变得更加简单)。请注意,如果您还没有,则首先需要install Requests

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_id是您要为其上传图片的商品的ID。
  • image_path是您上传图片的相对路径。
  • access_token是您代表的商家的访问令牌。

无法将单个请求中的多个项目的图像上传到此端点。而是为每个项目发送单独的请求。