获取java中microsoft graph api的令牌

plupiseo  于 2021-07-11  发布在  Java
关注(0)|答案(1)|浏览(470)

我想使用microsoft graph api来管理驱动器文件,但我在身份验证方面遇到了一些问题。。。
我拥有以下代码以获得访问我的帐户的权限:

try(InputStream propFile = MicrosoftEngine.class.getClassLoader().getResourceAsStream("microsoft.properties")){
      Properties prop = new Properties();
      prop.load(propFile);

      setGraphClient(GraphServiceClient.builder().authenticationProvider(request -> {
        // Add the access token in the Authorization header
        request.addHeader("Authorization", "Bearer " + prop.getProperty("token"));
      }).buildClient());

      IDriveItemCollectionPage children = graphClient.me().drive().root().children().buildRequest().get();
      setDrive(children);
    }
    catch(IOException e) {
      e.printStackTrace();
    }

但目前,“token”属性的值取自microsoft graph explorer:
这里举个例子
过了一段时间(可能一个小时),令牌过期了,我需要通过graph explorer发送另一个请求,以获得一个新令牌,并将其复制/粘贴到我的java代码中。
但这不方便。。。如何在java中获得这个令牌值?有什么想法吗?
提前感谢您的帮助:)

pftdvrlh

pftdvrlh1#

对于身份验证,首先需要实现msal以从aad获取令牌。您可以从这里开始在microsoft graph中实现身份验证。您可以尝试使用这个示例来开始MicrosoftGraphforJava的实现。

相关问题