为用户安装应用

命名空间:microsoft.graph

在指定用户的个人范围内安装应用

注意: 此 API 在一个或多个国家/地区云中的工作方式不同。 有关详细信息,请参阅 国家云中的 Microsoft Teams API 实现差异

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

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

权限

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

权限类型 最低特权权限 更高特权权限
委派(工作或学校帐户) TeamsAppInstallation.ReadWriteSelfForUser TeamsAppInstallation.ManageSelectedForUser、TeamsAppInstallation.ReadWriteAndConsentForUser、TeamsAppInstallation.ReadWriteAndConsentSelfForUser、TeamsAppInstallation.ReadWriteForUser、TeamsAppInstallation.ReadWriteSelectedForUser
委派(个人 Microsoft 帐户) 不支持。 不支持。
应用程序 TeamsAppInstallation.ReadWriteSelfForUser.All TeamsAppInstallation.ManageSelectedForUser.All、TeamsAppInstallation.ReadWriteAndConsentForUser.All、TeamsAppInstallation.ReadWriteAndConsentSelfForUser.All、TeamsAppInstallation.ReadWriteForUser.All、TeamsAppInstallation.ReadWriteSelectedForUser.All

注意

如果希望应用为用户安装、获取、升级或删除应用,则必须使用 TeamsAppInstallation.ReadWriteForUser 权限。

HTTP 请求

POST /users/{user-id | user-principal-name}/teamwork/installedApps

请求标头

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

请求正文

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

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

注意: 安装期间同意的权限必须与应用的 teamsAppDefinition 中存在的特定于资源的权限相同。 若要获取应用程序和委派的资源特定权限,请参阅 列出在用户的个人范围内安装的应用。 如果 teamsAppDefinition 中仅存在委派的资源特定权限,则可以在此请求正文中省略权限。

响应

如果成功,此方法返回 201 Created 响应代码。 它不会在响应正文中返回任何内容。

示例

示例 1:为用户安装应用

请求

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

POST https://graph.microsoft.com/v1.0/users/5b649834-7412-4cce-9e69-176e95a394f5/teamwork/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

请求

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

POST https://graph.microsoft.com/v1.0/users/5b649834-7412-4cce-9e69-176e95a394f5/teamwork/installedApps
Content-Type: application/json

{
  "teamsApp@odata.bind": "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps/12345678-9abc-def0-123456789a",
  "consentedPermissionSet": {
    "resourceSpecificPermissions": [
      {
        "permissionValue": "TeamsActivity.Send.User",
        "permissionType": "Application"
      }
    ]
  }
}

响应

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

HTTP/1.1 201 Created

Microsoft Graph 特定于服务的节流限制