Microsoft flow:ForbiddenError-403,尝试在 MS 团队中创建私人频道时

Microsoft flow:ForbiddenError-403, when trying to create private channel in MS teams

我正在尝试向 MS 团队发出 HTTP 请求,以便创建专用频道,如下例所示。 https://docs.microsoft.com/en-us/graph/api/channel-post?view=graph-rest-1.0&tabs=http

为了对其进行身份验证,带有“Active Directory oauth”选项的 HTTP 请求需要一些信息。 1) 客户 ID,2) 租户 ID,3) 观众和 4) 凭证类型。 因此,我在 Registration App Azure 页面注册了一个应用程序,我在那里拥有所有这些信息 + 创建一个秘密来提供它。另外我给权限。我的任务是 create/delete 私人频道和 add/drop 会员。为什么有一个 403-statusCode 错误称为“Forbidden”?

此外,在很多文档中都提到了令牌,但我不知道如何创建和使用它,因为也没有针对所有这些的准确、逐步的示例 authentication/authorization/permissions。

有人可以提供吗?或者解释为什么会出现这个错误,因为信息 microsoft.docs 效率低下?

https://docs.microsoft.com/en-us/graph/resolve-auth-errors

https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-client-creds-grant-flow

https://docs.microsoft.com/en-us/graph/resolve-auth-errors

403 错误表示您的令牌没有调用 api 的权限。每个 api 文档都清楚地解释了调用 api 需要哪些权限。 以create channel为例:列出了调用api需要的权限。这些权限由小到大排列,您只需select其中一项即可。然后您需要将权限添加到您的应用程序,然后授予管理员同意权限。

转到Azure 门户>Azure AD>应用程序注册>你的应用>API权限.

需要注意的是,权限分为应用权限委托权限

Delegated permission is the authorization of the service principal on behalf of the user. It usually involves user interaction. If you need to log in to the user, you can choose to grant the permission, and then you need to use the auth code flow to obtain an access token.

Application permission is the authorization of the service principal on their own behalf. It is usually used in a daemon where no user is logged in. If you do not need to log in to the user, you can choose to grant the permission, and then you need to use the client credential flow to obtain an access token.