2017-09-12 7 views
0

이베이에서 zip 파일을 다운로드하려고합니다. downloadfile API 사용.나머지 클라이언트를 사용하여 eBay에서 zip 파일 다운로드

response = RestClient.post(url,xml,headers) 

이 호출은 xml에서 취소 할 수없는 zip 파일의 내용을 반환합니다. 그래서 나는 그것이 eBay에서 인 것처럼 zip 파일을 다운로드하고 싶다.

내 코드는 다음과 같습니다

headers = { 
"X-EBAY-SOA-OPERATION-NAME"=>"downloadFile", 
"X-EBAY-SOA-SECURITY-TOKEN" => access_token_lister, 
"X-EBAY-API-SITEID"=>"0", 
"Content-Type"=>"application/zip" 
} 
url = 'https://storage.ebay.com/FileTransferService' 

xml = '<?xml version="1.0" 
encoding="utf-8"?> <downloadFileRequest xmlns="ebay.com/marketplace/services">; <fileReferenceId>6637191637</fileReferenceId> <taskReferenceId>6474385857</taskReferenceId> </downloadFileRequest>' 

위에서 사용 된 API에 대한 문서는 여기에서 찾을 수 있습니다 : http://developer.ebay.com/devzone/file-transfer/CallRef/downloadFile.html

+0

뭔가를 다운로드하려면 GET 메서드를 사용해야합니다. 또한 시도한 내용과받은 오류 메시지에 대해 더 많은 코드를 보여주십시오. 우리는 코드를 작성하지 않을 것입니다;) –

+0

@HolgerFrohloff 코드로 제 질문을 업데이트했습니다. –

답변

0

당신은 rubyzip 같은 라이브러리에 대한 응답의 내용을 전달해야합니다. 그런 다음 압축하여 Zip 파일에서 파일을 추출하십시오. 먼저 파일을 디스크에 쓴 다음 rubyzip을 사용하여 읽을 수 있습니다.

자세한 내용은 rubyzip - Reading a Zip file 설명서의이 부분을 참조하십시오.

+0

'rubyzip'문서에서 찾은 옵션이 없습니다. –

+0

내가 잘못하지 않았다면 다운로드 한 zip 파일의 압축을 풀려고합니다. – bitsapien

+0

예. 하지만 zip 파일은 api 호출로부터의 응답 인 응답과 함께 나에 의해 생성되고 respomse는 XML과 같은 다른 형식으로 변환하려고 많이 시도한 binery 인코딩 형식입니다. –