2016-08-29 7 views
0

Etsy 목록을 관리하기위한 Mac 앱을 쓰고 있습니다. objective-c와 OauthConsumer 라이브러리를 사용하고 있습니다.createListing에 대한 Etsy API 호출 오류 403

인증 토큰을 성공적으로 받았고 목록과 카테고리를 검색했습니다.

이제 목록을 만들고 싶습니다. 테스트를 위해 최소한의 필수 필드가있는 사전을 만듭니다.

다음은 디버그 결과입니다. 방금 oauth_token을 수정했습니다.

문제점을 확인할 수 있습니까? 감사

2016년 8월 28일 12 : 31 : 09.042 물품 [32,465 : 16639890] listingDictionary {

params =  { 

    "category_id" = 323; 

    description = "testing - not for sale"; 

    "is_supply" = false; 

    price = 3000; 

    quantity = 1; 

    title = "testing - not for sale"; 

    "when_made" = 1920s; 

    "who_made" = "someone_else"; 

}; 

}

2016년 8월 28일 12 : 31 : 09.042 물품 [32,465 : "" "" "" "" "" "": "" "" "" "" "" "" "" "" "false", "price": "3000", "category_id": "323", "description": "판매되지 않음"}}

2016-08-28 12 : 31 : 12.475 물품 [32465 : 16639890] urlString : https://openapi.etsy.com/v2/listings/ 31 :

2016년 8월 28일 12

물품 12.476 [32,465 : 16639890] 요청 : URL : https://openapi.etsy.com/v2/listings/

allHTTPHeaderFields {

Authorization = "OAuth realm=\"\", oauth_consumer_key=\"b2ttpixxxxxxxxnciaubi8\", oauth_token=\"xxxxxxxxxxxx\", oauth_signature_method=\"HMAC-SHA1\", oauth_signature=\"NHSLUPAZyrtOrEI%2BAQCV9w74%2BIc%3D\", oauth_timestamp=\"1472409072\", oauth_nonce=\"BF3E6982-695E-4EF4-AD70-BDF8A401A65B\", oauth_version=\"1.0\""; 

method = createListing; 

}

_signatureBaseString : POST % & HTTPS 3A % 2F % 2Fopenapi.etsy.com % 2Fv2 % 2Flistings % 2F % & oauth_consumer_key 3Db2ttpia1jk3j2ijhnciaubi8 % 26oauth_nonce % 3DBF3E6982-695E-4EF4-AD70-BDF8A401A65B % 26oauth_signature_method % 3DHMAC-SHA1 26oauth_timestamp % % % 3D1472409072 26oauth_token % 3D840f745e22136b6351500b567ee6c9 % 26oauth_version % 3D1.0

2016년 8월 28일 12 : 31 : 12.476 물품 [32,465 : 16639890] configuration.HTTPAdditionalHeaders (NULL)

2016년 8월 28일 12 : 31 : 12.477 물품 [32,465 : 16639890] etsyItem :

2016년 8월 28일 12 : 31 : 13.069 물품 [32,465 : 16640021]에 statusCode : 403

2016년 8월 28일 12 : 31 : 13.069 물품 [32,465 : 16,640,021 ] hTTPURLResponse.allHeaderFields : {

"Cache-Control" = private; 

Connection = close; 

"Content-Length" = 766; 

"Content-Type" = "text/plain;charset=UTF-8"; 

Date = "Sun, 28 Aug 2016 18:31:13 GMT"; 

Server = Apache; 

"X-Cnection" = close; 

"X-Error-Detail" = "oauth_problem=signature_invalid&debug_sbs=POST&https%3A%2F%2Fopenapi.etsy.com%2Fv2%2Flistings%2F&oauth_consumer_key%3Db2ttpia1jk3j2ijhnciaubi8%26oauth_nonce%3DBF3E6982-695E-4EF4-AD70-BDF8A401A65B%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1472409072%26oauth_token%3D840f745e22136b6351500b567ee6c9%26oauth_version%3D1.0%26%257B%2522params%2522%253A%257B%2522title%2522%253A%2522testing_-_not_for_sale%2522%252C%2522when_made%2522%253A%25221920s%2522%252C%2522who_made%2522%253A%2522someone_else%2522%252C%2522quantity%2522%253A%25221%2522%252C%2522is_supply%2522%253A%2522false%2522%252C%2522price%2522%253A%25223000%2522%252C%2522category_id%2522%253A%2522323%2522%252C%2522description%2522%253A%2522testing_-_not_for_sale%2522%257D%257D%3D"; 

"X-Etsy-Request-Uuid" = 084ELjPQBbhJzUjLaOa3XxHVfwSh; 

답변

0

params에서 구성에 shipping_template_id를 추가 했습니까? 위와 같이 보이지 않습니다.

비슷한 문제가 있었지만 오류 메시지가 shipping_template_id가 누락되었다고 말했습니다.

새 목록을 만듭니다. 참고 : 목록을 만들 때 shipping_template_id가 필요합니다. 참고 : www.etsy.com에서 생성 된 모든 목록은 실제 판매 항목이어야합니다. 실시간 목록 테스트를위한 Google의 가이드 라인을 참조하십시오.

또한 귀하의 요청 URL이 인 경우 확실하지 않습니다. 저는 여기에 기본 URL로 무엇을 사용하는 예입니다 https://openapi.etsy.com/v2/listings

나는 내 게시물의 URL을 설정 그때 베어 분의 요구 사항에 대해 다음 PARAMS를 추가해야 후 :

  • 목록 항목
  • 을 shipping_template_id

    • 제목
    • 설명
    • 가격
    • who_made을
    • is_supply
    • 상태 중요 이것은 필수 항목은 아니지만 활성 상태 인 항목을 생성합니다. 테스트를 위해 항상 상태를 초안으로 설정하여 상점 가입비를 청구하지 않습니다.

    이 정보가 도움이되는지 알려 주시면 예제가 있지만 Java 기반입니다. 게시물 요청을 사용했는지 확인하고 오류 메시지가 변경되지 않으면 게시 요청을하기 전에 올바른 토큰을 얻으려면 인증 코드를 확인해야합니다.