searchAssetsByMetadata

Busca en el repositorio de índices de metadatos los términos de búsqueda dados. Devuelve datos de recursos como el método searchAssets.

While searchAssetsByMetadata permite buscar con campos de metadatos definidos por el usuario, estos campos no se devuelven si se especifican en la variable responseMetadataArray. Para ilustrar este punto, siga el siguiente ejemplo de código:

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

devuelve un valor nulo:

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

Para solucionar este problema, puede usar la variable fieldHandles de los recursos que se devuelven desde la búsqueda para ejecutar getAssets (consulte también getAssets). Este método obtiene los valores Campos definidos por el usuario para los recursos en cuestión. Utilice el siguiente ejemplo de sintaxis para buscar campos de metadatos definidos por el usuario:

<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>

Tipos de usuarios autorizados

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

Parámetros

Entrada (searchAssetsByMetadataParam)

Nombre Tipo Obligatorio Descripción

companyHandle

xsd:string

El identificador de la empresa.

Filtro

tipo:SearchFilter

No

Filtros que ayudan a definir los criterios de búsqueda.

Consulte SearchFilter.

metadataConditionArray

type:MetadataConditionArray

No

Condiciones que definen criterios de búsqueda. Consulte a continuación para obtener más información.

responseMetadataArray

type:StringArray

No

Campos adicionales que desea rellenar en la respuesta del resumen del recurso. Los campos deben especificarse en el formato normalizado.

recordsPerPage

xsd:int

No

Número de recursos devueltos por la respuesta. El valor predeterminado es 1000.

resultsPage

xsd:int

No

Especifica la página de resultados que se van a devolver, en función de recordsPerPage tamaño de página.

sortBy

xsd:string

No

Ordenar por campo de recurso seleccionado.

sortDirection

xsd:string

No

Elección de la dirección. Ascending es el valor predeterminado.

Salida (searchAssetsByMetadataReturn)

Nombre Tipo Obligatorio Descripción
totalRows xsd:int No Número de coincidencias.
assetArray types:AssetArray No Matriz de recursos devueltos por la búsqueda.

Detalles de metadataConditionArray

Estructura del elemento

metadataConditionArray la estructura es la siguiente:

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

Valores

field_handle es la clave de búsqueda de metadatos. Puede contener notación de puntos. Los valores posibles incluyen:

  • asset_id (sin prefijo)

  • name

  • folder_path

  • type

  • file_name

  • description

  • comment

  • user_data

  • sku

  • modified_at

  • modified_by

  • created_at (igual que modified_at (Fecha en el formulario: 25 de julio de 2014 24:13:45 GMT-0500 (CDT)

  • created_by

Operadores permitidos

La variable operator define cómo comparar el valor e incluir:

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

La variable comparison_value es el término que se va a buscar.

Ejemplos

Este ejemplo de código realiza una búsqueda con los siguientes criterios de metadatos:

  • name el campo contiene 1000801.

  • dc.rights field es igual a Per Jessen Schmidt.

Solicitar

<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>

Respuesta

<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>

En esta página