2016-08-16 47 views
60

Mam API-Endpoint i Authtoken dla tego APIJak pobrać plik excela (.xls) z API w liście postmana?

wspomnianego API jest do pobrania .XLS raportu, w jaki sposób mogę wyświetlić pobrany plik .xls za pomocą (jeśli to możliwe) POSTMAN?

Jeśli nie jest możliwe korzystanie z listonosza na inne sposoby programistyczne, których powinienem szukać?

+0

Listonosz nie jest aplikacją, której można użyć "programowo" - jest to w pełni funkcjonalny graficzny interfejs użytkownika. Co masz na myśli mówiąc "przeglądanie pobranego pliku .xls przy użyciu POSTMAN"? Czy chcesz nawiązać połączenie z punktem końcowym za pomocą Postmana? – nbokmans

+4

@nbokmans Chcę pobrać plik .xls dostarczony przez backend kiedy używam listonosza, nie jestem w stanie poprawnie wyświetlić pliku .xls, jego wszystkich kodów Unicodes i znaków specjalnych. To, czego potrzebuję, to: jeśli jest jakikolwiek inny programowy sposób oprócz listonosza do wypalania api i pobierania pliku .xls na moim komputerze. – prasshant

+0

To wciąż za mało informacji - czy punkt końcowy udostępnia ci adres URL do pobrania pliku z LUB? faktycznie rozpocząć pobieranie? na przykład jeśli odwiedzasz punkt końcowy, czy otrzymujesz json/xml/dowolne dane informujące, gdzie znajduje się plik lub czy bezpośrednio rozpoczyna on pobieranie? – nbokmans

Odpowiedz

132

Spróbuj wybrać opcję" wyślij i pobierz "zamiast" wyślij "po wysłaniu żądania. (Niebieski przycisk)

https://www.getpostman.com/docs/responses

„Dla binarnych typów reakcji, należy wybrać opcję«Wyślij i pobierz», który pozwoli Ci zaoszczędzić odpowiedź na dysku twardym. Następnie można go zobaczyć za pomocą odpowiedniego widza. "

+0

to zdecydowanie nie jest intuicyjne - dzięki za wskazówkę! Próbowałem ** Zapisz odpowiedź **, ale została zapisana w ** Przykłady **, co nie było pomocne. – SliverNinja

4

Jeśli punkt końcowy jest naprawdę bezpośredni link do pliku .xls, można spróbować następujący kod do obsługi pobierania:

public static boolean download(final File output, final String source) { 
    try { 
     if (!output.createNewFile()) { 
      throw new RuntimeException("Could not create new file!"); 
     } 
     URL url = new URL(source); 
     HttpURLConnection connection = (HttpURLConnection) url.openConnection(); 
     // Comment in the code in the following line in case the endpoint redirects instead of it being a direct link 
     // connection.setInstanceFollowRedirects(true); 
     connection.setRequestProperty("AUTH-KEY-PROPERTY-NAME", "yourAuthKey"); 
     final ReadableByteChannel rbc = Channels.newChannel(connection.getInputStream()); 
     final FileOutputStream fos = new FileOutputStream(output); 
     fos.getChannel().transferFrom(rbc, 0, 1 << 24); 
     fos.close(); 
     return true; 
    } catch (final Exception e) { 
     e.printStackTrace(); 
    } 
    return false; 
} 

Wszystko co powinny musisz zrobić, to ustawić odpowiednią nazwę dla auth żeton i wypełnić go w

Przykład użycia.

download(new File("C:\\output.xls"), "http://www.website.com/endpoint"); 
+0

Dziękujemy za odpowiedź – prasshant

+0

Ten kod działa dla mnie, ale w przypadku moich informacji, jeśli mój punkt końcowy nie byłby linkiem bezpośrednim, jaka zmiana byłaby konieczna w powyższym fragmencie kodu? – prasshant

0

w listonosza - Próbował pan dodanie elementu nagłówka ' Zaakceptuj aplikację "jako"/vnd.ms-excel "