camera.listFiles

Liste toutes les images/toutes les vidéos/toutes les images et vidéos filmées par l'appareil photo. Plusieurs requêtes peuvent être nécessaires pour répertorier tous les fichiers. Cette commande a été ajoutée au niveau d'API 2.

Si une caméra n'est pas compatible avec les paramètres demandés, elle doit renvoyer la capacité maximale disponible pour le matériel. Par exemple, la requête {entryCount: 500, maxSize: 2000} est un cas rare. Au lieu de générer une erreur, la réponse doit être basée sur la capacité maximale prise en charge par l'appareil photo, par exemple: {entryCount: 100, maxSize: 200}. Veuillez générer des erreurs pour tous les autres cas. Par exemple, lorsque la requête est {entryCount: 500, maxSize: -500}, l'erreur invalidParameterValue devrait être générée, car maxSize est négatif.

Paramètres

  • fileType:type des fichiers à répertorier : "image", "video" ou "all".
  • startPosition : (facultatif) position du premier fichier à renvoyer dans la liste. Si cette valeur est omise, la position de départ est 0, ce qui correspond au premier fichier. S'il est plus grand que la position du dernier fichier, renvoyez une réponse normale avec des entrées vides dans les résultats au lieu d'une réponse d'erreur.
  • entryCount:nombre souhaité d'entrées à renvoyer. S'il est supérieur au nombre de fichiers restants, renvoyez simplement une réponse normale avec les fichiers réels restants au lieu d'une réponse d'erreur.
  • maxThumbSize:taille maximale des vignettes ; max(thumbnail_width, vignette_height). Il est défini sur null lorsque le client souhaite omettre les vignettes du résultat.

Résultats

  • entrées:liste des propriétés d'image. Chaque entrée doit contenir les champs suivants, à l'exception de la latitude et de la longitude, qui sont facultatifs :
    • name:nom du fichier.
    • fileUrl:URL absolue du fichier, qui peut être utilisée pour télécharger directement depuis l'appareil photo.
    • size:taille du fichier, en octets.
    • dateTimeZone : date, heure et fuseau horaire du fichier, au format YYYY:MM:DD HH:MM:SS+(-)HH:MM. Utilisez le format 24 heures pour l'heure. La date et l'heure sont séparées par un caractère vide. Le fuseau horaire est décalé par rapport à l'heure UTC. Notez qu'il s'agit de la fin de la capture pour les vidéos.
    • lat: : (facultatif) latitude de l'emplacement au moment de la capture du fichier.
    • lng: (facultatif) : longitude de l'emplacement au moment de la capture du fichier.
    • width:largeur de l'image ou de chaque image de la vidéo.
    • height:hauteur de l'image ou de chaque cadre de la vidéo.
    • miniature:chaîne encodée en base64 pour la vignette du fichier (lorsque la valeur est maxThumbSize != null).
    • isProcessed:valeur booléenne indiquant si le fichier est traité (par exemple, assemblé) ou s'il s'agit seulement d'un aperçu. Cela devrait être "true" par défaut, sauf si delayProcessing est défini sur "true". Si une image traitée existe, l'image d'aperçu correspondante ne doit pas être listée, même si elle existe. Sinon, répertoriez l'image d'aperçu.
    • previewUrl:la valeur par défaut est une chaîne vide si delayProcessing n'est pas accepté, lorsque isProcessed est égal à "false" ou lorsque l'image d'aperçu n'a jamais été générée en tant que résultat intermédiaire. Sinon, il s'agit de l'URL de l'image d'aperçu correspondant à l'image finale. Cela permet d'établir la correspondance entre l'image d'aperçu et l'image finale.
  • totalEntries:nombre total d'entrées de fileType dans l'espace de stockage. Par exemple, si fileType correspond à "image", il s'agit du nombre total d'images dans l'espace de stockage.

Erreurs

  • missingParameter:aucun paramètre requis n'est spécifié. Par exemple, entryCount n'est pas spécifié.
  • invalidParameterName:le nom du paramètre d'entrée n'est pas reconnu.
  • invalidParameterValue:le nom du paramètre d'entrée est reconnu, mais sa valeur n'est pas valide. Par exemple, entryCount est négatif ou son type de données est incorrect.

E/S des commandes

Entrée de commande
{
    "parameters": {
        "entryCount": 50,
        "maxThumbSize": 100
    }
}
Résultat de la commande
{
    "results": {
        "entries": [
            {
                "name": "abc",
                "fileUrl": "file URL",
                "size":  file size, # of bytes,
                "dateTimeZone": "2014:12:27 08:00:00+08:00",
                "lat": 50.5324,
                "lng": -120.2332,
                "width": 2000,
                "height": 1000,
                "thumbnail": "ENCODEDSTRING",
                "isProcessed": true,
                "previewUrl": ""
            }
            ...
            {
                ...
            }
        ],
        "totalEntries": 250
    }
}
Résultat de la commande (erreur)
{
    "error": {
        "code": "invalidParameterValue",
        "message": "Parameter entryCount is negative."
    }
}