Method: enterprises.devices.issueCommand

向设备发出命令。返回的 Operation 资源在其 metadata 字段中包含 Command。使用 get 操作方法可获取该命令的状态。

HTTP 请求

POST https://androidmanagement.googleapis.com/v1/{name=enterprises/*/devices/*}:issueCommand

网址采用 gRPC 转码语法。

路径参数

参数
name

string

设备的名称,格式为 enterprises/{enterpriseId}/devices/{deviceId}

请求正文

请求正文包含一个 Command 实例。

响应正文

如果成功,则响应正文包含一个 Operation 实例。

授权范围

需要以下 OAuth 作用域:

  • https://www.googleapis.com/auth/androidmanagement

有关详情,请参阅 OAuth 2.0 概览

命令

命令。

JSON 表示法
{
  "type": enum (CommandType),
  "createTime": string,
  "duration": string,
  "userName": string,
  "errorCode": enum (CommandErrorCode),
  "newPassword": string,
  "resetPasswordFlags": [
    enum (ResetPasswordFlag)
  ],

  // Union field params can be only one of the following:
  "clearAppsDataParams": {
    object (ClearAppsDataParams)
  },
  "startLostModeParams": {
    object (StartLostModeParams)
  },
  "stopLostModeParams": {
    object (StopLostModeParams)
  }
  // End of list of possible types for union field params.

  // Union field status can be only one of the following:
  "clearAppsDataStatus": {
    object (ClearAppsDataStatus)
  },
  "startLostModeStatus": {
    object (StartLostModeStatus)
  },
  "stopLostModeStatus": {
    object (StopLostModeStatus)
  }
  // End of list of possible types for union field status.
}
字段
type

enum (CommandType)

命令的类型。

createTime

string (Timestamp format)

创建命令的时间戳。时间戳由服务器自动生成。

采用 RFC3339 世界协调时间 (UTC)(即“祖鲁时”)格式的时间戳,采用纳秒级精度,最多包含九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

duration

string (Duration format)

命令的有效时长。如果设备在此期间未执行该命令,它将过期。如果未指定,则默认时长为 10 分钟。没有时长上限。

此时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"

userName

string

拥有设备的用户的资源名称,格式为 enterprises/{enterpriseId}/users/{userId}。该标识符由服务器根据接收命令的设备自动生成。

errorCode

enum (CommandErrorCode)

如果命令运行失败,系统会显示一个错误代码来解释此次失败。如果调用方取消命令,则不会设置此字段。

newPassword

string

对于 RESET_PASSWORD 类型的命令,(可选)指定新密码。注意:如果是 Android 14 设备,新密码必须至少包含 6 个字符。否则,该命令将失败并显示 INVALID_VALUE

resetPasswordFlags[]

enum (ResetPasswordFlag)

对于 RESET_PASSWORD 类型的命令,可以选择指定标志。

联合字段 params。特定于命令的参数。请注意,有些命令并不使用它,特别是 LOCKRESET_PASSWORDREBOOTRELINQUISH_OWNERSHIP。将来,这些命令可能也会使用此名称。

如果已设置此属性,则不得设置 new_passwordreset_password_flags 字段。params 只能是下列其中一项:

clearAppsDataParams

object (ClearAppsDataParams)

CLEAR_APP_DATA 命令的参数,用于从设备中清除指定应用的数据。请参阅 ClearAppsDataParams。如果设置了此属性,则建议不应设置 type。在这种情况下,服务器会自动将其设置为 CLEAR_APP_DATA。也可以将 type 明确设置为 CLEAR_APP_DATA

startLostModeParams

object (StartLostModeParams)

START_LOST_MODE 命令用于将设备置于丢失模式的参数。请参阅 StartLostModeParams。如果设置了此属性,则建议不应设置 type。在这种情况下,服务器会自动将其设置为 START_LOST_MODE。也可以将 type 明确设置为 START_LOST_MODE

stopLostModeParams

object (StopLostModeParams)

STOP_LOST_MODE 命令用于使设备退出丢失模式的参数。请参阅 StopLostModeParams。如果设置了此属性,则建议不应设置 type。在这种情况下,服务器会自动将其设置为 STOP_LOST_MODE。也可以将 type 明确设置为 STOP_LOST_MODE

联合字段 status。命令专属的状态。请注意,有些命令并不使用它,特别是 LOCKRESET_PASSWORDREBOOTRELINQUISH_OWNERSHIP。将来,这些命令可能也会使用此名称。status 只能是下列其中一项:
clearAppsDataStatus

object (ClearAppsDataStatus)

仅供输出。CLEAR_APP_DATA 命令的状态,用于从设备中清除指定应用的数据。请参阅ClearAppsDataStatus

startLostModeStatus

object (StartLostModeStatus)

仅供输出。用于将设备置于丢失模式的 START_LOST_MODE 命令的状态。请参阅StartLostModeStatus

stopLostModeStatus

object (StopLostModeStatus)

仅供输出。用于使设备退出丢失模式的 STOP_LOST_MODE 命令的状态。请参阅StopLostModeStatus

CommandType

命令类型。

枚举
COMMAND_TYPE_UNSPECIFIED 不允许使用此值。
LOCK 锁定设备,就像锁定屏幕超时时间已过一样。
RESET_PASSWORD 重置用户密码。
REBOOT 重新启动设备。仅适用于搭载 Android 7.0(API 级别 24)或更高版本的全代管式设备。
RELINQUISH_OWNERSHIP 从公司自有且运行 Android 8.0 及更高版本的设备中移除工作资料和所有政策,让设备不再供个人使用。系统会保留与个人资料相关联的应用和数据。设备确认此命令后,就会从服务器中删除。
CLEAR_APP_DATA 清除指定应用的应用数据。Android 9 及更高版本支持此功能。请注意,应用可以将数据存储在其应用数据之外,例如存储在外部存储空间或用户字典中。另请参阅 clearAppsDataParams
START_LOST_MODE 将设备设为丢失模式。此设置仅适用于拥有受管理个人资料的完全受管设备或组织自有设备。另请参阅 startLostModeParams
STOP_LOST_MODE 使设备退出丢失模式。此设置仅适用于拥有受管理个人资料的完全受管设备或组织自有设备。另请参阅 stopLostModeParams

CommandErrorCode

命令错误代码。此字段是由服务器填充的只读字段。

枚举
COMMAND_ERROR_CODE_UNSPECIFIED 未出现错误。
UNKNOWN 发生了未知错误。
API_LEVEL 设备的 API 级别不支持此命令。
MANAGEMENT_MODE 管理模式(资料所有者、设备所有者等)不支持此命令。
INVALID_VALUE 该命令包含无效的参数值。
UNSUPPORTED 设备不支持此命令。将 Android Device Policy 更新到最新版本可能会解决此问题。

ResetPasswordFlag

可用于 RESET_PASSWORD 命令类型的标志。

枚举
RESET_PASSWORD_FLAG_UNSPECIFIED 系统会忽略此值。
REQUIRE_ENTRY 在用户输入密码之前,不允许其他管理员再次更改密码。
DO_NOT_ASK_CREDENTIALS_ON_BOOT 启动设备时不要求用户凭据。
LOCK_NOW 重置密码后锁定设备。

ClearAppsDataParams

CLEAR_APP_DATA 命令相关联的参数,用于从设备中清除指定应用的数据。

JSON 表示法
{
  "packageNames": [
    string
  ]
}
字段
packageNames[]

string

执行命令时将会清除其中数据的应用软件包名称。

StartLostModeParams

START_LOST_MODE 命令相关联的参数,用于将设备置于丢失模式。您必须提供至少一个参数(不包括组织名称),才能使设备进入丢失模式。

JSON 表示法
{
  "lostMessage": {
    object (UserFacingMessage)
  },
  "lostPhoneNumber": {
    object (UserFacingMessage)
  },
  "lostEmailAddress": string,
  "lostStreetAddress": {
    object (UserFacingMessage)
  },
  "lostOrganization": {
    object (UserFacingMessage)
  }
}
字段
lostMessage

object (UserFacingMessage)

当设备处于丢失模式时向用户显示的消息。

lostPhoneNumber

object (UserFacingMessage)

当设备处于丢失模式,且用户点按“通话所有者”按钮时,系统将拨打的电话号码。

lostEmailAddress

string

当设备处于丢失模式时向用户显示的电子邮件地址。

lostStreetAddress

object (UserFacingMessage)

当设备处于丢失模式时向用户显示的街道地址。

lostOrganization

object (UserFacingMessage)

当设备处于丢失模式时向用户显示的组织名称。

StopLostModeParams

此类型没有任何字段。

STOP_LOST_MODE 命令相关联的参数,用于使设备退出丢失模式。

ClearAppsDataStatus

CLEAR_APP_DATA 命令的状态,用于从设备中清除指定应用的数据。

JSON 表示法
{
  "results": {
    string: {
      object (PerAppResult)
    },
    ...
  }
}
字段
results

map (key: string, value: object (PerAppResult))

按应用显示的结果,从软件包名称到相应清除结果的映射。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

PerAppResult

尝试清除单个应用数据的结果。

JSON 表示法
{
  "clearingResult": enum (ClearingResult)
}
字段
clearingResult

enum (ClearingResult)

尝试清除单个应用数据的结果。

ClearingResult

尝试清除单个应用数据的结果。

枚举
CLEARING_RESULT_UNSPECIFIED 未指定结果。
SUCCESS 已成功清除此应用的数据。
APP_NOT_FOUND 找不到此应用,因此无法清除此应用的数据。
APP_PROTECTED 此应用受到保护,因此无法清除其数据。例如,这项要求可能适用于对设备的正常运行至关重要的应用,例如 Google Play 商店。
API_LEVEL 无法清除此应用的数据,因为设备 API 级别不支持此命令。

StartLostModeStatus

用于将设备置于丢失模式的 START_LOST_MODE 命令的状态。

JSON 表示法
{
  "status": enum (Status)
}
字段
status

enum (Status)

状态。请参阅StartLostModeStatus

状态

状态。请参阅StartLostModeStatus

枚举
STATUS_UNSPECIFIED 未指定。未使用此值。
SUCCESS 设备进入了丢失模式。
RESET_PASSWORD_RECENTLY 由于管理员最近重置了设备密码,因此无法使设备进入丢失模式。
USER_EXIT_LOST_MODE_RECENTLY 由于用户最近退出了丢失模式,因此设备无法进入丢失模式。
ALREADY_IN_LOST_MODE 设备已处于丢失模式。

StopLostModeStatus

用于使设备退出丢失模式的 STOP_LOST_MODE 命令的状态。

JSON 表示法
{
  "status": enum (Status)
}
字段
status

enum (Status)

状态。请参阅StopLostModeStatus

状态

状态。请参阅StopLostModeStatus

枚举
STATUS_UNSPECIFIED 未指定。未使用此值。
SUCCESS 设备退出了丢失模式。
NOT_IN_LOST_MODE 设备未处于丢失模式。