通道:doesUserHaveAccess

命名空间:microsoft.graph

重要

Microsoft Graph /beta 版本下的 API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。

确定 用户 是否有权访问共享 频道

此 API 可用于以下国家级云部署

全局服务 美国政府 L4 美国政府 L5 (DOD) 由世纪互联运营的中国

权限

为此 API 选择标记为最低特权的权限。 只有在应用需要它时,才使用更高的特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型。 要了解有关这些权限的详细信息,请参阅 权限参考

权限类型 最低特权权限 更高特权权限
委派(工作或学校帐户) ChannelMember.Read.All ChannelMember.ReadWrite.All
委派(个人 Microsoft 帐户) 不支持。 不支持。
应用程序 ChannelMember.Read.All ChannelMember.ReadWrite.All

HTTP 请求

GET /teams/{team-id}/channels/{channel-id}/doesUserHaveAccess(userId='@userId',tenantId='@tenantId',userPrincipalName='@userPrincipalName')

函数参数

在请求 URL 中,提供以下查询参数(含值)。 下表显示了可用于此函数的参数。

参数 类型 说明
tenantId String 用户所属Microsoft Entra租户的 ID。 此属性的默认值为已登录用户或应用的当前 tenantId
userId String 用户的唯一标识符。 在请求中指定 userIduserPrincipalName 属性。
userPrincipalName String 用户 (UPN) 的用户主体名称。 在请求中指定 userIduserPrincipalName 属性。

请求标头

名称 说明
Authorization 持有者 {token}。 必填。 详细了解 身份验证和授权

请求正文

不要为此函数提供请求正文。

响应

如果成功,此函数会在响应正文中返回 200 OK 响应代码和一个 Boolean。

示例

示例 1:检查内部用户的访问权限

以下示例显示了一个请求,该请求检查内部用户是否有权访问共享频道。

请求

以下示例显示了一个请求。

GET https://graph.microsoft.com/beta/teams/0fddfdc5-f319-491f-a514-be1bc1bf9ddc/channels/19:33b76eea88574bd1969dca37e2b7a819@thread.skype/doesUserHaveAccess(userId='6285581f-484b-4845-9e01-60667f8b12ae')

响应

以下示例显示了相应的响应。

HTTP/1.1 200 OK
Content-Type: application/json

{
  "value": true
}

示例 2:检查来宾的访问权限

以下示例显示了一个请求,该请求使用 tenantId 属性来检查来宾是否有权访问共享频道。

请求

以下示例显示了一个请求。

GET https://graph.microsoft.com/beta/teams/0fddfdc5-f319-491f-a514-be1bc1bf9ddc/channels/19:33b76eea88574bd1969dca37e2b7a819@thread.skype/doesUserHaveAccess(userId='62855810-484b-4823-9e01-60667f8b12ae', tenantId='57fb72d0-d811-46f4-8947-305e6072eaa5')

响应

以下示例显示了相应的响应。

HTTP/1.1 200 OK
Content-Type: application/json

{
  "value": true
}

示例 3:使用用户主体名称检查用户的访问权限

以下示例演示了一个请求,该请求使用 userPrincipalName 属性来检查内部用户是否有权访问共享通道。

请求

以下示例显示了一个请求。

GET https://graph.microsoft.com/beta/teams/0fddfdc5-f319-491f-a514-be1bc1bf9ddc/channels/19:33b76eea88574bd1969dca37e2b7a819@thread.skype/doesUserHaveAccess(userPrincipalName='john.doe@contoso.com')

响应

以下示例显示了相应的响应。

HTTP/1.1 200 OK
Content-Type: application/json

{
  "value": false
}