0
在嘗試從Java Web應用程序訪問用於POST請求的SharePoint Rest API時獲取未經授權的異常。根據MSDN,Formdigest對Post請求是必需的。如何從非Rest消費者使用SharePoint Rest API - 微軟應用程序?SharePoint onprem Rest API調用來自Java應用程序
在嘗試從Java Web應用程序訪問用於POST請求的SharePoint Rest API時獲取未經授權的異常。根據MSDN,Formdigest對Post請求是必需的。如何從非Rest消費者使用SharePoint Rest API - 微軟應用程序?SharePoint onprem Rest API調用來自Java應用程序
我會推薦閱讀這篇文章Post to SharePoint 2013 from Java。爲了您的憑據,我親自使用NTLM(Windows)認證,如下所示:
Registry<AuthSchemeProvider> authSchemeRegistry = RegistryBuilder.<AuthSchemeProvider>create()
.register(AuthSchemes.NTLM, new JCIFSNTLMSchemeFactory())
.register(AuthSchemes.BASIC, new BasicSchemeFactory())
.register(AuthSchemes.DIGEST, new DigestSchemeFactory())
.register(AuthSchemes.SPNEGO, new SPNegoSchemeFactory())
.register(AuthSchemes.KERBEROS, new KerberosSchemeFactory())
.build();
CloseableHttpClient httpClient = HttpClients.custom()
.setDefaultAuthSchemeRegistry(authSchemeRegistry)
.build();
NTCredentials creds = new NTCredentials(user, password, workstation, domain);
CredentialsProvider credsProvider = new BasicCredentialsProvider();
credsProvider.setCredentials(AuthScope.ANY, creds);
HttpClientContext context = HttpClientContext.create();
context.setCredentialsProvider(credsProvider);