我想使用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中获得这个令牌值?有什么想法吗?
提前感谢您的帮助:)
1条答案
按热度按时间pftdvrlh1#
对于身份验证,首先需要实现msal以从aad获取令牌。您可以从这里开始在microsoft graph中实现身份验证。您可以尝试使用这个示例来开始MicrosoftGraphforJava的实现。