0

我正在尝试从 Java 连接到 Sharepoint Online REST API。

我之前使用了直接在 Sharepoint 系统中注册的 SharepointOnline ADD-IN,该系统具有对所有网站集 (Fu​​llControl) 的权限。我从 url 获得了带有应用程序凭据的令牌: https ://accounts.accesscontrol.windows.net/ /tokens/OAuth/2 我可以直接向 Sharepoint REST API 发出请求

现在我必须切换到 Azure 注册的应用程序。代码是用 Java 编写的,我使用 Azure sdk-com.microsoft.azure (artifactId-azure)。我可以成功检索令牌,但这对于以后对 Sharepoint REST API 的请求无效。

我收到此错误:引发了“Microsoft.IdentityModel.Tokens.AudienceUriValidationFailedException”。”

是否有可能为 Sharepoint REST API 请求获取有效令牌?

4

2 回答 2

0

是的,这是可能的。查看以下文档:

https://docs.microsoft.com/en-us/sharepoint/dev/solution-guidance/security-apponly-azuread

使用 SharePoint Online 时,您可以在 Azure AD 中定义应用程序,这些应用程序可以被授予对 SharePoint 的权限,也可以对 Office 365 中的所有其他服务授予权限。如果您使用 SharePoint Online,则此模型是首选模型,如果您“重新使用本地 SharePoint,您必须通过基于 Azure ACS 的 SharePoint Only 模型,如此处所述。

希望这可以帮助!

于 2019-10-28T20:16:33.143 回答
0

您可以查看我开发的这个项目(我目前正在利用空闲时间进行开发),其中您有一个 Java API 的工作实现来与 sharepoint rest api v1 通信并执行常见操作(rest api仍未完全涵盖,但具有最常见的操作,并且还提供了工作示例的起点)。你可以看看它

https://github.com/kikovalle/PLGSharepointRestAPI-java

于 2020-07-12T12:02:57.257 回答