将应用添加到聊天

命名空间:microsoft.graph

teamsApp 安装到指定的聊天中。

注意

  • 如果聊天与 onlineMeeting 实例相关联,则 teamsApp 将迅速安装到会议。

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

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

权限

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

权限类型 最低特权权限 更高特权权限
委派(工作或学校帐户) TeamsAppInstallation.ReadWriteSelfForChat TeamsAppInstallation.ReadWriteAndConsentForChat、TeamsAppInstallation.ReadWriteAndConsentSelfForChat、TeamsAppInstallation.ReadWriteForChat
委派(个人 Microsoft 帐户) 不支持。 不支持。
应用程序 TeamsAppInstallation.ReadWriteSelfForChat.All Chat.Manage.Chat、TeamsAppInstallation.ReadWriteAndConsentForChat.All、TeamsAppInstallation.ReadWriteAndConsentSelfForChat.All、TeamsAppInstallation.ReadWriteForChat.All

注意

这些 TeamsAppInstallation.ReadWriteSelfForChat、TeamsAppInstallation.ReadWriteForChat、TeamsAppInstallation.ReadWriteSelfForChat.All 和 TeamsAppInstallation.ReadWriteForChat.All 权限不能用于安装需要同意资源特定权限的应用。

HTTP 请求

POST /chats/{chat-id}/installedApps

请求标头

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

请求正文

请求正文应包含目录应用生成的应用 ID。 有关详细信息,请参阅 teamsApp 属性。 下表列出了可用于请求正文的其他参数。

参数 类型 说明
consentedPermissionSet teamsAppPermissionSet 要同意的资源特定权限集。

注意: 安装期间同意的权限必须与应用的 teamsAppDefinition 中定义的特定于资源的权限匹配。 若要获取应用程序和委派的资源特定权限,请参阅 示例 7。如果在 teamsAppDefinition 中仅指定了特定于资源的委托权限,则可以在请求正文中省略权限。

响应

如果成功,此方法返回 201 Created 响应代码。

示例

示例 1:在聊天中安装应用

请求

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

POST https://graph.microsoft.com/v1.0/chats/19:ea28e88c00e94c7786b065394a61f296@thread.v2/installedApps
Content-Type: application/json

{
   "teamsApp@odata.bind":"https://graph.microsoft.com/v1.0/appCatalogs/teamsApps/12345678-9abc-def0-123456789a"
}

响应

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

HTTP/1.1 201 Created

若要获取应用所需的资源特定权限列表,请从 appCatalog 获取应用,如 示例 7 所示。

请求

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

POST https://graph.microsoft.com/v1.0/chats/19:ea28e88c00e94c7786b065394a61f296@thread.v2/installedApps
Content-Type: application/json

{
  "teamsApp@odata.bind" : "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps/2b524e28-95ce-4c9b-9773-4a5bd6ec1770",
    "consentedPermissionSet": {
        "resourceSpecificPermissions": [
        {
          "permissionValue": "OnlineMeeting.ReadBasic.Chat",
          "permissionType": "Delegated"
        },
        {
          "permissionValue": "OnlineMeetingIncomingAudio.Detect.Chat",
          "permissionType": "Delegated"
        },
        {
          "permissionValue": "ChatMember.Read.Chat",
          "permissionType": "Application"
        },
        {
          "permissionValue": "ChatMessage.Read.Chat",
          "permissionType": "Application"
        }]
      }
}

响应

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

HTTP/1.1 201 Created