验证 MS OneDrive 登录信息

3
我正在开发一个Spring-MVC应用程序,想要集成OneDrive功能。不幸的是,我找不到适用于Web应用程序的SDK。在Maven存储库中找到一些东西会很有帮助。有人能告诉我如何进行身份验证并使用一些OneDrive库吗?
难道没有像Google、Dropbox和许多其他服务那样可以直接放入POM.xml文件中的SDK吗?
以下是我尝试过的一些链接:
  1. https://msdn.microsoft.com/en-us/library/hh826531.aspx

  2. http://www.tjeerd.net/2014/08/23/onedrive-api-restful-programming-in-java/

  3. https://dev.onedrive.com/sample-code.htm

上面的示例是针对Android的,没有涵盖Web应用程序。谢谢。
2个回答

3

在将近五年之后,我想补充一下,现在有一个适用于MS Graph的Java SDK可以覆盖您的OneDrive访问需求:https://github.com/microsoftgraph/msgraph-sdk-java

也许您已经解决了您的问题,但这仍可作为参考。将以下内容添加到您的POM中:

<dependency>
  <groupId>com.microsoft.graph</groupId>
  <artifactId>microsoft-graph</artifactId>
  <version>2.7.1</version>
</dependency>

例如,您可以通过以下方式在 OneDrive 中获取所有文件:

Builder2 clientBuilder = GraphServiceClient.builder()
    .authenticationProvider(_accessTokenAuthProvider);

IHttpProvider httpProvider = DefaultClientConfig
    .createWithAuthenticationProvider(_accessTokenAuthProvider)
    .getHttpProvider(createOkHttpClientBuilder().build());
clientBuilder.httpProvider(httpProvider);

IGraphServiceClient graphServiceClient = clientBuilder.buildClient();
IDriveItemCollectionPage collectionPage = graphServiceClient.me().drive().root().children().buildRequest()
        .select("Id,Name,Folder,Size").get();

在上述代码片段中,您需要添加实现 IAuthenticationProvider、ICoreAuthenticationProvider 的认证提供程序。执行后,您将获得包含 DriveItems 列表的 collectionPage。希望这能帮助其他人。

1
非常感谢。无法验证,甚至不在同一个项目上工作。:-P - We are Borg

2

你知道哪些关于身份验证和REST调用的例子吗? - We are Borg
您需要通过此链接中描述的其中一种流程 https://dev.onedrive.com/auth/msa_oauth.htm 获取身份验证令牌。一旦您获得了身份验证或刷新令牌,您需要获取访问令牌(步骤也在同一链接中提供)。一旦您获得了访问令牌,您可以使用access_token作为查询参数调用其REST API。 - bhupi812

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接