如何从Java应用调用Microsoft Graph API?求SharePoint文件查看相关资源
一、核心 Maven 依赖(官方 SDK)
直接使用微软官方的 Microsoft Graph Java SDK,这是最稳定的选择,Maven 坐标如下:
<dependency> <groupId>com.microsoft.graph</groupId> <artifactId>microsoft-graph</artifactId> <version>[最新稳定版]</version> </dependency> <!-- 身份验证扩展依赖,按需添加 --> <dependency> <groupId>com.microsoft.graph</groupId> <artifactId>microsoft-graph-auth</artifactId> <version>[对应SDK版本]</version> </dependency>
二、官方示例参考
微软官方的 Microsoft Graph Java SDK 仓库中包含完整的 SharePoint 文件操作示例,覆盖:
- 通过站点 ID/名称定位文档库
- 列出库内文件及元数据
- 读取文件内容(支持流式获取)
- 生成文件预览链接(用于网页端查看)
核心代码片段示例:
// 初始化 GraphServiceClient(需先完成身份验证,比如用 ClientCredentialProvider) GraphServiceClient<Request> graphClient = GraphServiceClient.builder() .authenticationProvider(authProvider) .buildClient(); // 获取指定站点下文档库的文件列表 DriveItemCollectionPage items = graphClient.sites("{site-id}") .drives("{drive-id}") .root() .children() .buildRequest() .get(); // 读取单个文件的内容 InputStream fileContent = graphClient.sites("{site-id}") .drives("{drive-id}") .items("{file-id}") .content() .buildRequest() .get();
三、第三方简化工具(可选)
如果觉得官方 SDK 流程繁琐,可尝试社区封装的轻量实现:
- 部分开源仓库会封装 SharePoint 文件操作工具类,可在 GitHub 搜索「Java SharePoint Graph API」找到相关项目
graphql-spring-boot-starter:结合 GraphQL 简化 Graph API 请求,适合仅需特定文件操作的场景
关键注意事项
- 权限配置:需在 Azure AD 为应用注册配置对应权限,比如委托权限
Files.Read、Sites.Read.All,或应用权限Files.Read.All、Sites.Read.All - 预览实现:若要做网页端查看,可通过文件的
@microsoft.graph.downloadUrl生成预览链接,或调用driveItem/createLink接口创建共享预览链接
内容的提问来源于stack exchange,提问作者noob_programmer
相关产品推荐
相关产品推荐

