Microsoft Graph Api - 在 java 中无需用户即可访问
Microsoft Graph Api - getting access without a user in java
我对 Microsoft Graph api 进行身份验证时遇到问题。我从不使用它。
我尝试编写负责从邮件中下载附件的应用程序。
该程序将从平台安排,因此无法获得管理员同意(因此使用客户端凭据进行授权)。
我发现的每个代码示例都需要用户交互才能在 Microsoft 上登录以获取令牌。
我从我公司的管理员处收到以下项目:
clientID、tenantID、app名称、邮箱地址
和权限EWS.AccessAsUser.All(我应该请求Mail.Read权限吗?邮箱可以很容易地迁移到0365。如果我很了解EWS是为了交换)
我想连接到邮箱并下载附件。
有什么方法可以通过 clientID, tenantID 接收身份验证?任何供应商存在?没有用户交互来获取令牌?
您可以使用 Microsoft Graph Java SDK 获取仅限应用程序的令牌。
ClientCredentialProvider authProvider = new ClientCredentialProvider(
this.clientId,
this.scopes,
this.clientSecret,
this.tenantId,
this.endpoint);
IGraphServiceClient graphClient = GraphServiceClient
.builder()
.authenticationProvider(authProvider)
.buildClient();
您可以在 java spring webhook sample. There's however a small caveat because of the authentication SDK as described here 中找到完整示例。
您需要申请的权限是申请注册门户中Microsoft Graph
下类型Application Permission
的Mail.Read
。添加该权限后,请不要忘记单击权限列表顶部的 Grant admin consent for XXX
按钮(如果您没有 UI 流程,这就是您授予权限的方式)。
最后,EWS 是独立于 Microsoft Graph 的 API,在你的情况下你不需要任何许可。
您可以使用下面的 Microsoft 使用 Java SDK 的代码参考获取访问令牌。
我对 Microsoft Graph api 进行身份验证时遇到问题。我从不使用它。 我尝试编写负责从邮件中下载附件的应用程序。
该程序将从平台安排,因此无法获得管理员同意(因此使用客户端凭据进行授权)。 我发现的每个代码示例都需要用户交互才能在 Microsoft 上登录以获取令牌。
我从我公司的管理员处收到以下项目: clientID、tenantID、app名称、邮箱地址 和权限EWS.AccessAsUser.All(我应该请求Mail.Read权限吗?邮箱可以很容易地迁移到0365。如果我很了解EWS是为了交换)
我想连接到邮箱并下载附件。 有什么方法可以通过 clientID, tenantID 接收身份验证?任何供应商存在?没有用户交互来获取令牌?
您可以使用 Microsoft Graph Java SDK 获取仅限应用程序的令牌。
ClientCredentialProvider authProvider = new ClientCredentialProvider(
this.clientId,
this.scopes,
this.clientSecret,
this.tenantId,
this.endpoint);
IGraphServiceClient graphClient = GraphServiceClient
.builder()
.authenticationProvider(authProvider)
.buildClient();
您可以在 java spring webhook sample. There's however a small caveat because of the authentication SDK as described here 中找到完整示例。
您需要申请的权限是申请注册门户中Microsoft Graph
下类型Application Permission
的Mail.Read
。添加该权限后,请不要忘记单击权限列表顶部的 Grant admin consent for XXX
按钮(如果您没有 UI 流程,这就是您授予权限的方式)。
最后,EWS 是独立于 Microsoft Graph 的 API,在你的情况下你不需要任何许可。
您可以使用下面的 Microsoft 使用 Java SDK 的代码参考获取访问令牌。