我已经回顾了Square Connect API文档中发布的示例以及GitHub上的示例,但是,我似乎无法根据上传图片的指南调整这些示例:http://docs.connect.squareup.com/#post-image < / p>
部分挑战是使用Content-Type:multipart / form-data,只有图片上传需要,因此文档不存在(使用connect-api文档)。
我的最终问题是,请问Square可以发布如何上传图片的示例吗?最相关的是一个示例,显示如何使用图像更新多个项目而不是一个项目。任何帮助表示赞赏。
答案 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
是您代表的商家的访问令牌。无法将单个请求中的多个项目的图像上传到此端点。而是为每个项目发送单独的请求。