java - ms Graph api(beta) 访问被拒绝

标签 java azure azure-active-directory microsoft-graph-api

我正在尝试多种方法来将 Microsoft Graph api(测试版)与 JAVA 结合使用。 (我引用这个链接来连接api“https://learn.microsoft.com/en-us/graph/tutorials/java”) 我可以使用v1.0的所有功能,但不能使用beta版本。

例如,当我请求以下代码时,它们成功返回 JsonObject。

JsonObject response = graphClient
        .customRequest("/me/calendar")
        .buildRequest()
        .get();

但是当我请求以下代码时,

JsonObject response = graphClient
        .customRequest("/me/findRoomLists")
        .buildRequest()
        .get();

他们返回以下错误

There was an unexpected error (type=Internal Server Error, status=500).
Error code: ErrorAccessDenied Error message: Access is denied. Check credentials and try again. GET https://graph.microsoft.com/beta//me/findRoomLists SdkVersion : graph-java/v1.5.0 Authorization : Bearer

我不知道问题出在哪里...

我使用下面的代码来使用测试版。

    // Build a Graph client
    graphClient = GraphServiceClient.builder()
        .authenticationProvider(authProvider)
        .logger(logger)
        .buildClient();

    //version change 1.0 -> beta
    graphClient.setServiceRoot("https://graph.microsoft.com/beta/");

这是我在 Azure 中的 API 权限。

1. Calendars.ReadWrite
2. Mail.ReadWrite
3. User.ReadBasic.All
4. User.ReadWrite

应用范围

app.scopes=User.ReadWrite,Calendars.ReadWrite,Mail.ReadWrite

我应该修改什么才能使用测试版? 如果这是一个重复的问题,我很抱歉。

最佳答案

Microsoft Graph Java SDK仅包含用于使用 Fluent API 访问 v1.0 端点的模型和请求构建器。 (如果特定 API 存在,则有 java SDK sampleotherwise not )

即使您使用 graphClient.setServiceRoot("https://graph.microsoft.com/beta/"),它仍然会使用 /v1.0 序列化/反序列化所有内容 类。

如果您想使用 v1.0 中不存在的资源/属性,那么您需要 generate the SDK code yourself使用测试版 list 。

有关更多详细信息,请查看此 link ,Microsoft Graph 产品团队的@Marc LaFleur 提到了这一点。

关于java - ms Graph api(beta) 访问被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58471148/

相关文章:

java - Hibernate 说 database.table 不存在

java - 井字游戏树

azure - 在 Azure 构建管道的整个阶段中保留对 defaultWorkingDirectory 的更改

Azure AD 注册的应用程序不在同意屏幕上显示 ToS/隐私链接

azure-active-directory - Azure AD 登录后如何重定向到特定页面?

java - 如何使用 selenium 或 webdriver 在测试自动化中处理文件上传

java - 从 OpenGL ES 1.0 切换到 2.0

azure - 使用 az-cli 命令禁用 azure devops 存储库

windows - 如何修复此 Azure 错误 : web role unable to start after disabling remote desktop connections?

javascript - 在客户端 React 中存储 MSAL Graph API token 并重复使用它直至过期