2014-10-03 3 views
1

c를 나는 아마존 웹 서비스에서 GetAuthToken를 호출하려합니다. 이것이 구현 되었습니까? 라이브러리없이 POST 요청을 시도하고 실패합니다. 여기에 내가 직접 쓴 나의 요청 및 응답입니다 :아마존 GetAuthToken는 #

요청이

POST https://mws.amazonservices.com/ HTTP/1.1 
Content-Type: application/x-www-form-urlencoded 
Host: mws.amazonservices.com 
Content-Length: 238 
Expect: 100-continue 
Connection: Keep-Alive 

AWSAccessKeyId=XX&Action=GetAuthToken&SellerId=XX&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2014-09-01T16%3A41%3A16Z&Version=2011-07-01&Signature=vRBxMEXAMPLES2y0FGPufG4u7WY2HqhcsYUW6IVI9%2BQ%3D 

응답 :

HTTP/1.1 404 Not Found 
Date: Fri, 03 Oct 2014 17:14:53 GMT 
Server: AmazonMWS 
x-mws-request-id: 1a0bd189-d3e9-40b8-a55d-a420c9ed4805 
x-mws-timestamp: 2014-10-03T17:14:54.195Z 
x-mws-response-context: VaGpX6JmTb+cM7WqwM6Fs8/E4oExbxl5c7li/EU0ho2j0/WpcYuG1XZSQzkuyrlr+kVTKBdKeG6F 3nwhM5s2gg== 
Content-Type: text/xml 
Content-Length: 368 
Vary: User-Agent 

<?xml version="1.0"?> 
<ErrorResponse xmlns="https://mws.amazonservices.com/"> 
<Error> 
    <Type>Sender</Type> 
    <Code>InvalidAddress</Code> 
    <Message>Resource/is not found on this server. API Section is missing or you have provided an invalid operation name.</Message> 
</Error> 
<RequestID>1a0bd189-d3e9-40b8-a55d-a420c9ed4805</RequestID> 
</ErrorResponse> 

답변

1

당신이 잘못 의 serviceURL 설정이 있습니다. "mws.amazonservices.com"으로 사용할 수 없으므로 상점 위치에 따라 적절한 ServiceURL을 지정해야합니다. Amazon 라이브러리 샘플에서 가져온 다음 설정 중 하나를 사용하거나 개발자 가이드 :

// North America: 
$serviceUrl = "https://mws.amazonservices.com/Products/2011-10-01"; 

// Europe 
$serviceUrl = "https://mws-eu.amazonservices.com/Products/2011-10-01"; 

// Japan 
$serviceUrl = "https://mws.amazonservices.jp/Products/2011-10-01"; 

// China 
$serviceUrl = "https://mws.amazonservices.com.cn/Products/2011-10-01"; 
을 확인하십시오.