java - 从 Angular 应用程序检索访问令牌后尝试在 Java 中调用 Microsoft Graph API
问题描述
我尝试在网上学习一些示例,但它们并不是很有帮助,而且官方的 Microsoft 文档可能有些混乱,而且到处都是。
我有令牌,其中包括标题中的随机数。
我已经在我的 pom.xml 文件中添加了 Microsoft Graph 依赖项,并且所有内容都已设置,但我不确定如何使用访问令牌实际实现该方法并进行调用以获取已登录的用户信息。
https://graph.microsoft.com/v1.0/me
我已经在 Azure 中设置了我的应用程序并添加了 API 权限。
任何朝着正确方向的帮助或指导都会有所帮助。
解决方案
您可以参考登录用户请求的示例,请参见此处。
IGraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
// for "/me" endpoint
User user = graphClient.me().buildRequest().get();
// for "/users/{id | userPrincipalName}" endpoint
// User user = graphClient.users("{id}").buildRequest().get()
用accessToken获取authProvider,参考这篇文章:
public IGraphServiceClient getAuthProvider() {
IAuthenticationProvider mAuthenticationProvider;
try {
String accessToken = "xxxxxxxxxxxxx";
mAuthenticationProvider = request -> request.addHeader("Authorization", "Bearer " + accessToken);
} catch (Exception e) {
throw new Error("Could not create a graph client: " + e.getLocalizedMessage());
}
return GraphServiceClient.builder()
.authenticationProvider(mAuthenticationProvider)
.buildClient();
}
有关详细信息,请使用带有 Java的 Microsoft Graph SDK 进行 API 调用。
推荐阅读
- ios - Flutter - 如何在没有用户交互的情况下推送到其他路由(如 onTap)?
- python - 使用 tkinter 进行键盘控制
- python - 哪个更好:`iter` 或 `while` 用于循环?
- java - 如何在 Katalon 中生成随机浮点数?
- javascript - Slick.Grid 不是构造函数
- google-bigquery - Bigquery 和谷歌云存储
- java - 在获取用户输入并在java中等待之后调用aa方法
- excel - 将 Internet Explorer 选项卡导出到 HTML 文件
- c# - 如何将 SBPL 字节 [] 发送到我的 SATO CG408TT 条码打印机
- gitlab - 将整个 repo 从 gogs 导入到 gitlab 服务器