将消息发送到与 Microsoft Teams Graph 的聊天时出现 401 错误
401 error while sending a message into a chat with microsoft teams Graph
我有一个从我的 Microsoft 团队自定义选项卡向聊天 window 发送通知的方案。
因此,我正在尝试调用 Microsoft Graph API 将消息发送到特定的 chatId:Post https://graph.microsoft.com/beta/chats/${chatId}/messages
我可以成功获得 access_token,但是在调用 post 请求将通知发送到 chatId 时,我收到“401 UnAuthorized”错误。
我的代码有什么问题?
var message = {
"body": {
"content": "Hello World"
}
};
fetch(`https://graph.microsoft.com/beta/${context.userObjectId}/chats/${chatId}/messages`, {
method: "POST",
mode: "cors",
cache: "no-cache",
headers: {
'Content-Type': "application/json;charset=utf-8",
'Authorization': `Bearer ${fetched_accessToken}`
},
body: JSON.stringify(message)
}).then((response) => {
alert(response.statusText);
}).catch((err) => {
alert(err);
});
}
这段代码有什么问题?
- 我看到您正在尝试使用客户端凭据流(应用程序权限),但上述 API 调用仅适用于委托权限。这是 documentation。所以它是“设计使然”的,并且只能以这种方式工作。因此您看到了错误。
- 您可以尝试使用委托权限进行上述 API 调用,然后您
会看到它会起作用。
如果您已经为您的选项卡安装了 Teams 应用程序,并且您还想在聊天中进行交流,您应该考虑创建一个机器人,并使用主动消息传递。在 https://docs.microsoft.com/en-us/microsoftteams/platform/bots/how-to/conversations/send-proactive-messages?tabs=dotnet and https://docs.microsoft.com/en-us/graph/teams-proactive-messaging
查看更多
我有一个从我的 Microsoft 团队自定义选项卡向聊天 window 发送通知的方案。 因此,我正在尝试调用 Microsoft Graph API 将消息发送到特定的 chatId:Post https://graph.microsoft.com/beta/chats/${chatId}/messages 我可以成功获得 access_token,但是在调用 post 请求将通知发送到 chatId 时,我收到“401 UnAuthorized”错误。 我的代码有什么问题?
var message = {
"body": {
"content": "Hello World"
}
};
fetch(`https://graph.microsoft.com/beta/${context.userObjectId}/chats/${chatId}/messages`, {
method: "POST",
mode: "cors",
cache: "no-cache",
headers: {
'Content-Type': "application/json;charset=utf-8",
'Authorization': `Bearer ${fetched_accessToken}`
},
body: JSON.stringify(message)
}).then((response) => {
alert(response.statusText);
}).catch((err) => {
alert(err);
});
}
这段代码有什么问题?
- 我看到您正在尝试使用客户端凭据流(应用程序权限),但上述 API 调用仅适用于委托权限。这是 documentation。所以它是“设计使然”的,并且只能以这种方式工作。因此您看到了错误。
- 您可以尝试使用委托权限进行上述 API 调用,然后您 会看到它会起作用。
如果您已经为您的选项卡安装了 Teams 应用程序,并且您还想在聊天中进行交流,您应该考虑创建一个机器人,并使用主动消息传递。在 https://docs.microsoft.com/en-us/microsoftteams/platform/bots/how-to/conversations/send-proactive-messages?tabs=dotnet and https://docs.microsoft.com/en-us/graph/teams-proactive-messaging
查看更多