現在用JAVA的HTTPCLIENT ,訪問sharepoint站點的rest api介面。但是站點是https://XXX的。
有足夠權限的user,password,是否還需要SSL證書呢?
試了好多方法,回傳都是Access denied.
急,求教
uj5u.com熱心網友回復:
能否跳過ssl證書認證這一步?uj5u.com熱心網友回復:
String url = "https://site/_api/web/title";Map<String, String> paramHeader = new HashMap<>();
paramHeader.put("Accept", "application/xml");
Map<String, String> paramBody = new HashMap<>();
paramBody.put("client_id", "test");
paramBody.put("client_secret", "ttest");
//String result = HTTPSClientUtil.doGet(httpClient, url, paramHeader, paramBody);
String result = HTTPSClientUtil.doGet(httpClient, url, null, null);
System.out.println("@@@@@@@@@@@@@@@@@@@@@@@");
System.out.println(result);
uj5u.com熱心網友回復:
public void prepareCertificate() throws Exception {System.out.println("########################");
// 跳過證書驗證
SSLContext ctx = SSLContext.getInstance("SSL");
X509TrustManager tm = new X509TrustManager() {
@Override
public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
}
@Override
public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
}
@Override
public X509Certificate[] getAcceptedIssuers() {
return null;
}
};
// 設定成已信任的證書
ctx.init(null, new TrustManager[] { tm }, null);
this.connectionSocketFactory = new SSLConnectionSocketFactory(ctx);
}
uj5u.com熱心網友回復:
你這不是證書的問題,客戶端訪問rest api,需要帶授權去訪問,asp.net中有授權的方法,不知道java是不是也有類似的方法;給你一個net的例子參考一下,你試試翻譯成java吧
Uri uri = new Uri(siteURL + "/_api/web/");
NetworkCredential nc = new NetworkCredential("admin", "pass-1234", "domain");
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
request.Method = "GET";
request.Credentials = nc;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream stream = response.GetResponseStream();
uj5u.com熱心網友回復:
java里邊也是有授權認證的轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/26754.html
標籤:SharePoint
上一篇:讀取grd資料構建DEM
