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 的命令,可选择指定新密码。注意:如果是数字设备,新密码必须至少为 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 设备未处于丢失模式。