【发布时间】:2021-09-29 12:09:25
【问题描述】:
我想使用 Microsoft Graph API 来发送电子邮件。 所以,我遵循的步骤是: 我想首先获取访问令牌以通过 Microsoft Send Mail API 发送邮件。 为了获取访问令牌,我一直在尝试客户端凭据流来获取访问令牌,并尝试了 Postman 的以下 curl。
curl --location --request POST 'https://login.microsoftonline.com/85173d93-99ef-4dff-9b45-495719659133/oauth2/v2.0/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Cookie: fpc=AnGmtKaDzItFhP3TSH4j_oCmg-KtAwAAAKMJi9gOAAAAdjbDngIAAAB7DYvYDgAAAA; stsservicecookie=estsfd; x-ms-gateway-slice=estsfd' \
--data-urlencode 'client_id=f0599628-cd3a-4478-84f0-563cb5a10f3b' \
--data-urlencode 'scope=api://f0599628-cd3a-4478-84f0-563cb5a10f3b/.default' \
--data-urlencode 'client_secret=e._hTCMiSgT2zr6h0U4_AEg-3.tDE71Nz~' \
--data-urlencode 'grant_type=client_credentials'
我正在从此端点获取访问令牌,但此访问令牌中没有权限。
所以,当我尝试发送邮件时,我收到以下错误。
请帮忙。 如果需要任何进一步的信息,请告诉我。
这些是我已经为发送电子邮件添加的权限,但仍然无法弄清楚问题所在。
【问题讨论】:
-
您应在
azure active directory下添加Microsoft graph的权限,然后在App Registration下添加权限,然后在azure portal上转到API Permission,请参阅link here。如果需要详细信息,请随时询问。 -
您正在使用“(...)/.default”作为范围,这意味着使用您在 azure 门户中为注册的应用程序授予的默认权限。正如@MdFaridUddinKiron 所说,您必须在那里添加所需的权限。您还可以使用 MS 的 Graph Explorer 来确定所需的权限(在修改权限选项卡下):developer.microsoft.com/en-us/graph/graph-explorer
-
@MdFaridUddinKiron 我已经编辑了我的问题并添加了我包含的所有权限的屏幕截图。但我仍然无法发送电子邮件。
-
因为你还没有接受
grant admin consent,所以加上那个,你的问题就解决了。 -
@MdFaridUddinKiron 那么,无论谁是管理员,我都必须征求他的同意?
标签: c# permissions microsoft-graph-api postman sendmail