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