teamwork:determineIfInteractionIsAllowed

命名空间:microsoft.graph

重要

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

确定是否允许在已登录用户和指定用户之间进行指定的Microsoft Teams 交互。

注意:对此 API 的所有请求都记录在Microsoft 365 审核日志中,这些租户中存在 由 users 参数指定的目标用户。 有关详细信息,请参阅 审核日志活动

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

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

权限

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

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

HTTP 请求

POST /teamwork/determineIfInteractionIsAllowed

请求标头

名称 说明
Authorization 持有者 {token}。 必填。 详细了解 身份验证和授权
Content-Type application/json. 必需。

请求正文

在请求正文中,提供参数的 JSON 表示形式。

下表显示了可用于此作的参数。

参数 类型 说明
interactionType teamworkInteractionType Microsoft Teams 上的交互类型。
users identity 集合 调用方希望确定是否允许交互的目标用户的集合。 支持的派生类型是 emailIdentityteamworkUserIdentity

响应

如果成功,此作将在 200 OK 响应正文中返回响应代码和布尔值。

示例

示例 1:确定已登录用户是否可以使用其 ID 与同一租户中的其他用户创建聊天

以下示例演示一个请求,该请求确定通过委托上下文进行身份验证的已登录用户是否可以通过指定其他用户的 ID 与同一租户中的其他用户创建聊天。

请求

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

POST https://graph.microsoft.com/beta/teamwork/determineIfInteractionIsAllowed

{
  "users":
  [
    {
      "@odata.type": "microsoft.graph.teamworkUserIdentity",
      "id": "59b5bc69-ca73-4ffd-a2e0-88a79115d13b"
    }
  ],
  "interactionType": "createChat"
}

响应

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

注意:为了提高可读性,可能缩短了此处显示的响应对象。

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

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#Edm.Boolean",
  "value": true
}

示例 2:确定已登录用户是否可以使用其 ID 和租户 ID 与其他租户中的其他用户创建聊天

以下示例显示了一个请求,该请求确定通过委托上下文进行身份验证的已登录用户是否可以使用其他用户的 ID 和租户 ID 与其他租户中的其他用户创建聊天。

请求

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

POST https://graph.microsoft.com/beta/teamwork/determineIfInteractionIsAllowed

{
  "users":
  [
    {
      "@odata.type": "microsoft.graph.teamworkUserIdentity",
      "id": "59b5bc69-ca73-4ffd-a2e0-88a79115d13b",
      "tenantId": "b11186db-6149-4b3d-95ad-23c9e1bf6853"
    }
  ],
  "interactionType": "createChat"
}

响应

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

注意:为了提高可读性,可能缩短了此处显示的响应对象。

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

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#Edm.Boolean",
  "value": true
}

示例 3:确定已登录用户是否可以使用其他用户的用户主体名称创建聊天

以下示例演示一个请求,该请求确定通过委托上下文进行身份验证的已登录用户是否可以通过指定其他用户的用户主体名称创建与其他用户的聊天。 指定另一租户中某个用户的用户主体名称时,无需指定 tenantId

请求

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

POST https://graph.microsoft.com/beta/teamwork/determineIfInteractionIsAllowed

{
  "users":
  [
    {
      "@odata.type": "microsoft.graph.teamworkUserIdentity",
      "userPrincipalName": "maia@contoso.com"
    }
  ],
  "interactionType": "createChat"
}

响应

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

注意:为了提高可读性,可能缩短了此处显示的响应对象。

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

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#Edm.Boolean",
  "value": true
}

示例 4:确定已登录用户是否可以使用其电子邮件与其他用户创建聊天

以下示例显示了一个请求,该请求确定通过委托上下文进行身份验证的已登录用户是否可以通过指定其他用户的电子邮件创建与其他用户的聊天。

请求

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

POST https://graph.microsoft.com/beta/teamwork/determineIfInteractionIsAllowed

{
  "users":
  [
    {
      "@odata.type": "microsoft.graph.emailIdentity",
      "email": "LauraW@contoso.com"
    }
  ],
  "interactionType": "createChat"
}

响应

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

注意:为了提高可读性,可能缩短了此处显示的响应对象。

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

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#Edm.Boolean",
  "value": true
}

示例 5:确定已登录用户是否可以与其他三个用户创建聊天

以下示例显示了一个请求,该请求确定通过委托上下文进行身份验证的已登录用户是否可以与其他三个用户创建聊天。 它混合使用支持的 标识 类型。 在此示例中,不允许交互。

请求

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

POST https://graph.microsoft.com/beta/teamwork/determineIfInteractionIsAllowed

{
  "users":
  [
    {
      "@odata.type": "microsoft.graph.emailIdentity",
      "email": "LauraW@foo.com"
    },
    {
      "@odata.type": "microsoft.graph.teamworkUserIdentity",
      "userPrincipalName": "MaiaR@foobar.com"
    },
    {
      "@odata.type": "microsoft.graph.teamworkUserIdentity",
      "id": "bd6a223f-59b5-46dd-90bc-0ddebaf3da5a"
    }
  ],
  "interactionType": "createChat"
}

响应

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

注意:为了提高可读性,可能缩短了此处显示的响应对象。

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

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#Edm.Boolean",
  "value": false
}