2017-08-13 120 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

相關問題