Postacıdaki API'dan excel (.xls) dosyası nasıl indirilir?


170

Bir API uç noktası ve bu API için Yetkilendirme belirteci yaşıyorum.

Bahsedilen API .xlsrapor indirmek içindir, indirilen .xlsdosyayı (mümkünse) Postacı kullanarak nasıl görüntüleyebilirim ?

Postman'ı kullanmak mümkün değilse, aramam gereken diğer programatik yollar nelerdir?


Postacı "programlı" kullanabileceğiniz bir uygulama değil - tam özellikli bir GUI. Ne demek "POSTMAN kullanarak indirilen .xls dosyasını görüntülemek"? Postacı'yı kullanarak uç noktayı aramak ister misiniz?
nbokmans

4
@nbokmans Postacı kullandığımda arka uç tarafından sağlanan .xls dosyasını indirmek istiyorum, .xls dosyasını düzgün bir şekilde görüntüleyemiyorum, tüm unicodes ve özel karakterler. İhtiyacım olan şey, bir api ateşleme ve benim pc .xls dosyasını indirmek için postacı dışında başka bir programatik yolu varsa
praxnet

@nbokmans Cevabınız için teşekkürler, sadece indirmeye başlar, herhangi bir konum vermez.
praxnet

Yanıtlar:


378

İsteği ne zaman yapacağınız send and downloadyerine seçmeyi deneyin send. (mavi düğme)

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

"İkili yanıt türleri Send and downloadiçin, yanıtınızı sabit diskinize kaydetmenize izin verecek olanı seçmelisiniz . Ardından uygun görüntüleyiciyi kullanarak görüntüleyebilirsiniz."


2
bu kesinlikle sezgisel değil - işaretçi için teşekkürler! Yanıtı Kaydet'i denedim , ancak yardımcı olmayan Örneklere kaydedildi .
SliverNinja - MSFT

6

Bitiş noktası gerçekten .xls dosyasına doğrudan bir bağlantıysa, indirmeyi işlemek için aşağıdaki kodu deneyebilirsiniz:

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

Tek yapmanız gereken kimlik doğrulama jetonu için doğru adı ayarlamak ve doldurmaktır.

Örnek kullanım:

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

1
Bu kod benim için çalışır, ancak uç noktam doğrudan bağlantı olmasaydı bilgilerim için yukarıdaki kod snippet'inde ne yapmam gerekir?
praxnet


1

Postacıda - 'Accept' başlık öğesini 'application / vnd.ms-excel' olarak eklemeyi denediniz mi?

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.