2015-01-16 2 views
0

Square Connect API 설명서 및 GitHub의 예제에 게시 된 예제를 검토했지만 이미지 업로드에 대한 지침에이 예제를 적용 할 수 없습니다. http://docs.connect.squareup.com/#post-imageSquare Connect API를 사용하여 항목 이미지 업로드

도전 과제 중 일부는 이미지 업로드에만 필요한 Content-Type : multipart/form-data로 작업하므로 문서가 존재하지 않습니다 (connect-api 문서 사용).

나의 궁극적 인 질문은, Square가 이미지를 업로드하는 방법의 예를 게시 할 수 있습니까? 가장 관련성이 높은 것은 여러 항목을 이미지로 업데이트하는 방법과 단 하나의 항목을 업데이트하는 방법을 보여주는 예입니다. 어떤 도움을 주셔서 감사합니다.

답변

1

문서에서이 차이를 지적 해 주셔서 감사합니다. 아래의 함수는 파이썬 라이브러리 Requests을 사용하여 항목의 이미지를 업로드합니다 (이 라이브러리는 multipart/form-data 요청을 훨씬 간단하게 만듭니다). 처음에는 install Requests이 필요합니다.

import requests 

def upload_item_image(item_id, image_path, access_token): 

    endpoint_path = 'https://connect.squareup.com/v1/me/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은 귀하가 대리하는 판매자의 액세스 토큰입니다.

단일 요청에서 여러 항목에 대한 이미지를이 끝점으로 업로드 할 수 없습니다. 대신 각 항목에 대해 별도의 요청을 보냅니다.

+0

답장을 보내 주신 Stephen에게 감사드립니다. 불행히도, 나는 이것을 작동시키지 못합니다. 코드를 실행하면 아무 일도 일어나지 않고 실행됩니다. 그 코드의 마지막 줄에서 괄호와 관련된 문법 오류를 얻었습니다 : print (response.text()). 작동 시키려면 수정이 필요한 코드에 표시되는 것이 있습니까? 도와 주셔서 미리 감사드립니다. – Accounting

관련 문제