ms Graph apibeta被拒绝访问

问题描述 投票:0回答:1

我正在尝试通过多种方式在JAVA中使用Microsoft Graph api(测试版)。(我引用此链接来连接api“ https://docs.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

我不知道是什么问题...

我使用下面的代码来使用Beta版本。

    // 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

要使用Beta版,我应该进行哪些修改?很抱歉,如果这是一个重复的问题。

java azure-ad-graph-api
1个回答
0
投票

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

即使使用otherwise not,它仍将使用graphClient.setServiceRoot("https://graph.microsoft.com/beta/")类对所有内容进行序列化/反序列化。

如果要使用/v1.0中不存在的资源/属性,则需要使用Beta清单来v1.0

有关更多详细信息,请检查此generate the SDK code yourself,Microsoft Graph产品团队的@Marc LaFleur提到了它。

© www.soinside.com 2019 - 2024. All rights reserved.