240
votes

I am having an API endpoint and Authorization token for that API.

The said API is for .xls report download, how can I view the downloaded .xls file using (if possible) Postman?

If it is not possible using Postman what are the other programmatic ways I should be looking for?

4
Postman is not an application that you can use "programmatically" - it's a full-featured GUI. What do you mean by "viewing the downloaded .xls file using POSTMAN"? Do you want to make a call to the endpoint using Postman?nbokmans
@nbokmans I want to download .xls file provided by backend when i use postman, i am not able to view .xls file properly, its all unicodes and special characters. What I need is, If there is any other programmatic way apart from postman for firing an api and downloading .xls file on my pcpraxnet
@nbokmans Thanks for reply, it just starts download, it doesn't give any location.praxnet

4 Answers

529
votes

Try selecting send and download instead of send when you make the request. (the blue button)

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

"For binary response types, you should select Send and download which will let you save the response to your hard disk. You can then view it using the appropriate viewer."

21
votes

You can Just save the response(pdf,doc etc..) by option on the right side of the response in postman check this image postman save response

For more Details check this

https://learning.getpostman.com/docs/postman/sending_api_requests/responses/

9
votes

If the endpoint really is a direct link to the .xls file, you can try the following code to handle downloading:

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;
}

All you should need to do is set the proper name for the auth token and fill it in.

Example usage:

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

In postman - Have you tried adding the header element 'Accept' as 'application/vnd.ms-excel'