Smartsheet sdk 2.25 使用 CredentialsProvider 进行 Java 代理身份验证

问题描述 投票:0回答:0

任何人成功使用带有代理身份验证和 CredentialsProvider 的 smartsheet sdk java 2.25? 下面的 Apache httpclient 4.5 示例代码在我们公司工作,但 smartsheet sdk api 根本不适用于代理身份验证。 我试图找出 smartsheet 对象是否可以设置 CredentialsProvider 但不幸的是我没有看到任何设置 credentialprovider 的方法。

有人知道如何使用 smartsheet api 代理身份验证实现用户名和密码吗?

CredentialsProvider credsProvider = new BasicCredentialsProvider();
        
        credsProvider.setCredentials(
                new AuthScope("proxy", 8080),
                new UsernamePasswordCredentials("username", "password"));
                
        CloseableHttpClient httpclient = HttpClients.custom()
                .setDefaultCredentialsProvider(credsProvider).build();
        try {
            HttpHost target = new HttpHost("api.smartsheet.com", 443, "https");
            HttpHost proxy = new HttpHost("proxy", 8080);

            RequestConfig config = RequestConfig.custom()
                .setProxy(proxy)
                .build();
            HttpGet httpget = new HttpGet("/2.0/sheets");
            httpget.setConfig(config);

            System.out.println("Executing request " + httpget.getRequestLine() + " to " + target + " via " + proxy);

            CloseableHttpResponse response = httpclient.execute(target, httpget);
            try {
                System.out.println("----------------------------------------");
                System.out.println(response.getStatusLine());
                System.out.println(EntityUtils.toString(response.getEntity()));
            } finally {
                response.close();
            }
        } finally {
            httpclient.close();
        }

我已经尝试过 Apache sameple 代码,它与代理身份验证配合使用效果很好。

smartsheet-api
© www.soinside.com 2019 - 2024. All rights reserved.