Method: enterprises.devices.issueCommand

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

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 设备未处于丢失模式。