使用新的Microsoft-Graph-Auth库Java SDK会出现未经授权的错误

时间:2020-01-30 13:21:28

标签: microsoft-graph-api microsoft-graph-sdks

Permissions in azure portal我正在尝试使用Microsoft图形身份验证库预览。 Microsoft-graph-auth-sdk-java我能够初始化graphClient,但无法获取数据。我得到了未经授权的401。

“代码”:“ InvalidAuthenticationToken”, “ message”:“ CompactToken解析失败,错误代码:80049217”,

 List<String> scopes = new ArrayList<String>();
    scopes.add("User.Read.All");

ClientCredentialProvider authProvider = new ClientCredentialProvider(app-Id, 
            scopes_list,
            client-Secret,
            tenantId, NationalCloud.Global);

IgraphClient graphClient = GraphServiceClient.builder().authenticationProvider(authProvider).logger(logger)
                .buildClient();

IUserCollectionPage users = graphClient.users()
            .buildRequest()
            .get();
    List<User> usersList = users.getCurrentPage();
    for(User user : usersList) {
        System.out.println(user.displayName);
    }

Permissions picture Link

2 个答案:

答案 0 :(得分:1)

权限和代码都可以。该问题必须出在库中,因为它在快照中。但是我想他们最近做了一些更改,这些更改可能可以解决您面临的问题。尝试从项目中重新构建jar。

答案 1 :(得分:0)

要使用客户端凭据进行仅应用程序调用,您需要传递范围“ https://graph.microsoft.com/.default”,然后在应用程序注册门户中授予User.Read.All的管理员同意。