【发布时间】:2021-07-09 15:31:45
【问题描述】:
我正在尝试使用 Microsoft Graph API 从可操作消息中的操作发送电子邮件。 (所以从电子邮件中的按钮发送电子邮件)但是我总是收到 401 错误。我在正常设置下测试了图形 API 并且 Auth 令牌是有效的,但在这里它似乎工作不同。
有没有可能做到这一点?
{
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"type": "AdaptiveCard",
"version": "1.0",
"body": [
{
"type": "ActionSet",
"id": "f8d6ddb5-ed34-e8e4-59ec-73084e885bbb",
"actions": [
{
"type": "Action.Http",
"id": "6a807e29-1023-ed90-713a-94209c847c7b",
"title": "Envoyer",
"url": "https://graph.microsoft.com/v1.0/me/sendMail",
"style": "positive",
"isPrimary": true,
"method": "POST",
"headers": [
{
"name": "Authorization",
"value": "Bearer ..."
},
{
"name": "Content-Type",
"value": "application/json"
}
],
"body": "..."
}
]
}
],
"padding": "None",
"@type": "AdaptiveCard",
"@context": "http://schema.org/extensions"
}
(编辑) 这就是我获得令牌的方式:
Providers.globalProvider = new TeamsProvider ({
clientId: {my client id},
authPopupUrl: '/auth.html'
});
const token = await Providers.globalProvider.getAccessToken({scopes: ['Mail.Send', 'Mail.ReadWrite']});
【问题讨论】:
-
您的访问令牌中是否有权限(Mail.Send)?您是如何获得令牌的?
-
我有 Mail.Send 权限是的。我添加了用于获取访问令牌的代码。
-
我没有使用 Teams SDK,但尝试使用 graph.microsoft.com/v1.0/users{userid}/sendMail 作为您的图形调用,看看它是否有效。
-
不幸的是,我得到与 graph.microsoft.com/v1.0/users{userid}/sendMail 相同的结果
-
嗨@Vincent Gagnon 目前团队不支持http卡操作。请通过此documentation 了解支持的卡片操作。
标签: outlook microsoft-graph-api microsoft-teams adaptive-cards microsoft-graph-teams