camera.listImages

列出相机中的所有图片。此命令在 API 级别 2 中已废弃。 请改用 camera.listFiles

如果摄像头不支持所请求的参数,则摄像头必须返回硬件可用的最大功能。例如,一个罕见的情况可能是请求:{entryCount: 500, maxSize: 2000}。响应应基于相机支持的最大功能(例如 {entryCount: 100, maxSize: 200}),而不是抛出错误。对于所有其他情况,请抛出错误;例如,当请求为 {entryCount: 500, maxSize: -500} 时,应抛出错误 invalidParameterValue,因为 maxSize 为负数。

参数

  • entryCount:要返回的条目数。
  • maxSize:缩略图的大小上限;max(thumbnail_width, thumbnail_height)。 仅当 includeThumb 为 true 时才是必需的(如下所示)。
  • continuationToken:(可选)字符串类型的不透明继续令牌,由上一个 listImages 调用返回,用于检索下一张图片。在第一次调用 listImages 时省略此参数。注意相机负责生成令牌的算法。
  • includeThumb:(可选)默认为 true。使用 false 可从结果中省略缩略图。

成果

  • entries:图片属性列表。每个条目都应包含以下字段,但纬度和经度除外(这两个是选填字段):
    • name:名称
    • uri:URI
    • size:大小(以字节为单位)
    • dateTimeZone:图片的日期、时间和时区,格式为 YYYY:MM:DD HH:MM:SS+(-)HH:MM。时间采用 24 小时制。日期和时间之间用一个空白字符分隔。时区与世界协调时间 (UTC) 的偏差。
    • lat:(可选)图片拍摄位置的纬度。
    • lng:(可选)图片拍摄位置的经度。
    • width:图片宽度
    • height:图片高度
    • thumbnail:缩略图的 Base64 编码字符串(当 includeThumb == true 时)。
  • totalEntries:存储空间中的条目总数。
  • continuationToken:(可选)仅在结果不完整时设置(未完成是指任何不包含上一张图片的商家信息)。如需提取剩余条目,客户端应使用令牌再次调用 listImages 命令。

错误数

  • missingParameter:未指定任何必需参数;例如,未指定 entryCount
  • invalidParameterName:输入参数名称无法识别。
  • invalidParameterValue:可识别输入参数名称,但其值无效;例如,continuationToken 不存在、超出范围、其数据类型不正确、includeThumb 数据类型不正确,或者当 includeThumb 为 true 时,maxSize 的数据类型错误。

命令 I/O

命令输入
{
    "parameters": {
        "entryCount": 50,
        "maxSize": 100,
        "includeThumb": true
    }
}
命令输出
{
    "results": {
        "entries": [
            {
                "name": "abc",
                "uri": "image URI",
                "size": image size in bytes,
                "dateTimeZone": "2014:12:27 08:00:00+08:00"
                "lat": 50.5324
                "lng": -120.2332
                "width": 2000
                "height": 1000
                "thumbnail": "ENCODEDSTRING"
            }
            ...
            {
                ...
            }
        ],
        "totalEntries": 250,
        "continuationToken": "50"
    }
}
命令输出(错误)
{
    "error": {
        "code": "invalidParameterValue",
        "message": "Parameter continuationToken is out of range."
    }
}