首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在创建ChatMessage上获得未经授权,即使应用程序具有Teamwork.Migrate.All权限(BETA)

在创建ChatMessage上获得未经授权,即使应用程序具有Teamwork.Migrate.All权限(BETA)
EN

Stack Overflow用户
提问于 2020-12-10 12:24:26
回答 2查看 2.3K关注 0票数 2

我正在为Microsoft使用/beta端点,但当我试图代表其他用户(或任何用户)创建聊天消息时,会出现一个未经授权的错误。

在API的v1.0中,Create chatMessage方法不受支持,但是在Beta中它是:https://learn.microsoft.com/en-us/graph/api/channel-post-message?view=graph-rest-beta&tabs=http,作为"Teamwork.Migrate.All“权限,这是我的应用程序在Azure中拥有的。

这很奇怪,因为同一个应用程序可以创建团队、通道和添加成员,但不能添加通道消息。

有人知道下一步该去哪里找吗?

编辑:我现在把它拿回来了:“您需要在您的应用程序中添加用户委派的权限到至少在portal.azure.com中的portal.azure.com,然后在门户中以用户的身份同意或者授予管理员的同意。并且代表一个用户要获得用户访问令牌的请求重新运行。”

然而,对于Beta文档中关于"Teamwork.Migrate.All“权限的说法,这是毫无意义的。我的应用程序拥有”应用程序权限“:”允许应用程序创建聊天和通道消息,而无需登录用户。该应用程序指定哪个用户显示为发送方,并可以将消息追溯到似乎是很久以前发送的。这些消息可以发送到组织中的任何聊天或频道。“

如果我是一个应用程序,并且拥有这个权限,我应该如何处理用户访问令牌?我正在使用Access令牌。

EN

回答 2

Stack Overflow用户

发布于 2021-05-05 09:42:46

为了简单地向Teams发送消息,MicrosoftGraph并不支持使用Application Permission来传递消息

或者,您也可以使用设置 Incoming Webhook,它是MsTeams通道中的连接器,在Teams上完成设置之后,您将收到URL,您可以使用邮递员或任何API使用者应用程序将请求(您的消息)发送到Incoming Webhook,后者将在Teams中发布。

样本结果图像

注意:Incoming Webhook不支持回复帖子

票数 2
EN

Stack Overflow用户

发布于 2020-12-10 13:51:24

您需要将应用程序中的用户委托权限添加到至少在Group.ReadWrite.All中的portal.azure.com中,然后在门户中以用户身份同意或授予管理许可。并代表用户获取用户访问令牌请求重新运行以更新访问令牌。

似乎您需要使用用户令牌而不是应用程序令牌来创建聊天消息。它们之间唯一的区别是用户令牌要求用户登录。应用程序令牌允许应用程序代表其他用户创建聊天消息。目前,您只能使用用户令牌。

正如您的提示消息所述,您需要将Group.ReadWrite.All delegation permission授予应用程序,然后为该权限授予管理许可,然后您需要使用auth码流来获取访问令牌。

更新:

我认为您正在做的是Teamwork.Migrate.All,而不是创建聊天消息,它确实要求您拥有导入消息 application permission

导入消息是特殊的,它要求您在迁移状态下创建团队和创建achannel,您需要在POST请求中的teamCreationModechannelCreationMode实例属性中包含migration值。见:这里

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65234475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档