【发布时间】:2021-01-22 17:13:05
【问题描述】:
我正在尝试使用 Java 从我的 Web 应用程序通过 API 调用将联系人添加到 Azure。我已经能够使用相同的 API 调用设置添加用户、向用户添加许可证以及其他各种任务,没有任何问题。但是,添加联系人时,出现以下错误:
Exception in thread "main" com.microsoft.graph.http.GraphServiceException: Error code:
ErrorAccessDenied
Error message: Access is denied. Check credentials and try again.
POST https://graph.microsoft.com/v1.0/me/contacts
SdkVersion : graph-java/v2.3.2
SdkVersion : graph-java/v2.3.2
Authorization : [PII_REDACTED]
{"businessPhones":["+1 212 212 2121"],"emailAddres[...]
403 : Forbidden
我已确保所有正确的权限都在那里,并且为了排除故障,我已授予该应用几乎所有的权限。通过微软的文档,我唯一能看到的可能问题是它可能是一个“范围”问题,因为到目前为止所有的调用都是在这里进行的:
ClientCredentialParameters parameters = ClientCredentialParameters
.builder(Collections.singleton("https://graph.microsoft.com/.default")).build();
CompletableFuture<IAuthenticationResult> future = app.acquireToken(parameters);
此外,当我使用图形资源管理器手动执行这些调用时,我得到以下响应:
"error": {
"code": "MailboxNotEnabledForRESTAPI",
"message": "REST API is not yet supported for this mailbox.",
"innerError": {
"date": "2021-01-22T17:09:37",
"request-id": "***********************",
"client-request-id": "*********************"
}
}
【问题讨论】:
-
请检查您在jwt.ms 中的访问令牌,看看您的令牌中是否有权限。您使用的是应用令牌还是用户令牌?对于第二个错误,请确保您是否拥有正确的许可证,例如 E3 或 E5,其中包含 Exchange 许可证。
-
您好,谢谢。当您说 jwt.ms 时,那在哪里。我相信我正在使用应用令牌。
-
点击我上面提供的链接,然后将您的访问令牌粘贴到那里进行检查。
标签: java azure-active-directory microsoft-graph-api http-status-code-403