2017-08-13 80 views
0

我正在开发使用Azure AD应用程序发送邮件的.net控制台应用程序。我遵循了从生成证书到在Azure AD中注册应用程序的所有步骤。然后使用Microsoft图形API提供应用程序权限(以任何用户身份发送邮件),并以管理员同意的形式向其提供“授予许可”。Azure AD仅使用应用程序的应用程序令牌REST API

在我的控制台应用程序代码中,我使用下面的outlook api作为发送邮件的地址为012ourse- https://outlook.office.com/api/v1.0/users/{my email account}/sendmail。在向我的应用程序提供授权后,我仍然面临着401:unauthorized error.

+0

你如何发送授权头?您可能对[活动目录身份验证方案]感兴趣(https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-authentication-scenarios#native-application-to-web -api) – user3151902

回答

0

您授予了Microsoft Graph API的权限,因此您需要使用它。

https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/user_sendmail

,你需要使用的URL是这样的:

POST https://graph.microsoft.com/v1.0/users/{id | userPrincipalName}/sendMail 

内部的图形API不会调用你提到的API。但是你的令牌是用于图表的。不是Outlook API。

您还提到了资源URL。图API的资源URL是https://graph.microsoft.com

+0

感谢您发布@juunas 我确实使用这个URL作为resourseurl “https://graph.microsoft.com/v1.0/users/{id | userPrincipalName}/sendMail”, 但我仍然面对401未经授权的问题。 –

+0

您将不得不添加您正在使用的代码来获取问题的标记。访问令牌显然有问题,或者您将错误地添加到请求中。 – juunas

相关问题