我有一个API端点和该API的授权令牌。

上述API是用于。xls报告下载,我如何使用(如果可能的话)邮差查看下载的。xls文件?

如果不可能使用邮差,我应该寻找的其他编程方式是什么?


当前回答

在postman -你是否尝试过将头元素“Accept”添加为“application/vnd.ms-excel”

其他回答

您可以保存的回应(pdf,doc等.)通过选项右侧的回应在邮差 检查这张图片

欲了解更多详细信息,请查看此

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

尝试在请求时选择发送和下载而不是发送。(蓝色按钮)

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

“对于二进制响应类型,您应该选择发送并下载,这样您就可以将响应保存到硬盘上。然后你可以使用适当的查看器查看它。”

对于UI,在邮递员中选择发送和下载按钮而不是发送按钮:

在postman -你是否尝试过将头元素“Accept”添加为“application/vnd.ms-excel”

如果端点确实是到.xls文件的直接链接,您可以尝试以下代码来处理下载:

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

您所需要做的就是为认证令牌设置正确的名称并填写它。

使用示例:

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