searchAssetsByMetadata

Recherche le référentiel d’index de métadonnées pour les termes de recherche donnés. Renvoie des données de ressources telles que la méthode searchAssets.

while searchAssetsByMetadata vous permet de rechercher par rapport aux champs de métadonnées définis par l’utilisateur. Ces champs ne sont pas renvoyés s’ils sont spécifiés dans la variable responseMetadataArray. Pour illustrer ce point, l’exemple de code suivant :

<ns:responseMetadataArray>
 <ns:items>custom_attributes.x</ns:items>
</ns:responseMetadataArray>

renvoie une valeur null :

<items>
 <name>custom_attributes.x</name>
 <value>null</value>
</items>

Pour contourner ce problème, vous pouvez utiliser la variable fieldHandles des ressources renvoyées par la recherche à exécuter getAssets (voir également getAssets). Cette méthode récupère les valeurs des champs définis par l’utilisateur pour les ressources en question. Utilisez l’exemple de syntaxe suivant pour effectuer une recherche par rapport aux champs de métadonnées définis par l’utilisateur :

<ns:metadataConditionArray>
 <ns:items>
  <ns:fieldHandle>custom_attributes.[UDF Field Name]</ns:fieldHandle>
  <ns:op>[Conditional]</ns:op>
  <ns:value>[Value]</ns:value>
 </ns:items>
</ns:metadataConditionArray>

Types d’utilisateurs autorisés

  • IpsUser
  • IpsAdmin
  • IpsCompanyAdmin
  • ImagePortalAdmin
  • ImagePortalUser
  • ImagePortalContrib
  • ImagePortalContribUser

Paramètres

Entrée (searchAssetsByMetadataParam)

Nom Type Obligatoire Description

companyHandle

xsd:string

Oui

La poignée de la société.

Filtrer

type:SearchFilter

Non

Filtres permettant de définir des critères de recherche.

Voir SearchFilter.

metadataConditionArray

type:MetadataConditionArray

Non

Conditions qui définissent les critères de recherche. Voir ci-dessous pour plus d’informations.

responseMetadataArray

type:StringArray

Non

Champs supplémentaires que vous souhaitez avoir renseignés sur la réponse dans le résumé de la ressource. Les champs doivent être spécifiés au format normalisé.

recordsPerPage

xsd:int

Non

Nombre de ressources renvoyées par la réponse. La valeur par défaut est 1000.

resultsPage

xsd:int

Non

Spécifie la page de résultats à renvoyer, en fonction de recordsPerPage taille de la page.

sortBy

xsd:string

Non

Tri par champ de ressource sélectionné.

sortDirection

xsd:string

Non

Choix de la direction du tri. La valeur ascendante est la valeur par défaut.

Sortie (searchAssetsByMetadataReturn)

Nom Type Obligatoire Description
totalRows xsd:int Non Nombre de correspondances.
assetArray types:AssetArray Non Tableau des ressources renvoyées par la recherche.

metadataConditionArray Details

Structure d’élément

metadataConditionArray La structure est la suivante :

<ns1:items>
   <ns:fieldHandle>field_handle</ns:fieldHandle>
   <ns:op>operator</ns:op>
   <ns:value>comparison_value</ns:value>
</ms1:items>

Valeurs

field_handle est la clé de recherche de métadonnées. Il peut contenir une notation par points. Les valeurs possibles sont les suivantes :

  • asset_id (sans préfixe)

  • name

  • folder_path

  • type

  • file_name

  • description

  • comment

  • user_data

  • sku

  • modified_at

  • modified_by

  • created_at (identique à modified_at (Date dans le formulaire : 25 juillet 2014 22:13:45 GMT-0500 (CDT))

  • created_by

Opérateurs autorisés

Le operator définit comment comparer la valeur et inclure :

  • Equals
  • NotEquals
  • Contains
  • NotContains
  • StartsWith
  • EndsWith

Le comparison_value est le terme à rechercher.

Exemples

Cet exemple de code effectue une recherche avec les critères de métadonnées suivants :

  • name Le champ contient 1000801.

  • dc.rights champ est égal à Per Jessen Schmidt.

Request

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.scene7.com/IpsApi/xsd"
xmlns:ns="http://www.scene7.com/IpsApi/xsd/2010-01-31">
   <soapenv:Header>
      <xsd:authHeader>
          <xsd:user>user@adobe.com</xsd:user>
          <xsd:password>topSecret</xsd:password>
      </xsd:authHeader>
   </soapenv:Header>
   <soapenv:Body>
      <ns:searchAssetsByMetadataParam>
         <ns:companyHandle>c|656</ns:companyHandle>
         <ns:metadataConditionArray>
            <ns:items>
               <ns:fieldHandle>name</ns:fieldHandle>
               <ns:op>Contains</ns:op>
               <ns:value>1000801</ns:value>
            </ns:items>
            <ns:items>
               <ns:fieldHandle>dc.rights</ns:fieldHandle>
               <ns:op>Equals</ns:op>
               <ns:value>Per Jessen Schmidt</ns:value>
            </ns:items>
         </ns:metadataConditionArray>
         <ns:responseMetadataArray>
            <ns:items>dc.subject</ns:items>
            <ns:items>xmp.CreatorTool</ns:items>
         </ns:responseMetadataArray>
      </ns:searchAssetsByMetadataParam>
   </soapenv:Body>
</soapenv:Envelope>

Réponse

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Body>
      <searchAssetsByMetadataReturn xmlns="http://www.scene7.com/IpsApi/xsd/2010-01-31">
         <totalRows>1</totalRows>
         <assetSummaryArray>
            <items>
               <assetHandle>a|885289</assetHandle>
               <type>Image</type>
               <name>test9-1000801</name>
               <folder>Extroscope/Test subfolders/</folder>
               <filename>test9-1000801.jpg</filename>
               <created>2009-11-19T07:21:24.252-08:00</created>
               <createUser>pschmidt@adobe.com</createUser>
               <lastModified>2009-11-19T07:21:25.487-08:00</lastModified>
               <lastModifyUser>pschmidt@adobe.com</lastModifyUser>
               <metadataArray>
                  <items>
                     <name>dc.subject</name>
                     <value>[San Fransico, USA</value>
                  </items>
                  <items>
                     <name>xmp.CreatorTool</name>
                     <value>Ver.1.0</value>
                  </items>
               </metadataArray>
            </items>
         </assetSummaryArray>
      </searchAssetsByMetadataReturn>
   </soapenv:Body>
</soapenv:Envelope>

Sur cette page