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.

Mientras que searchAssetsByMetadata permite buscar con campos de metadatos definidos por el usuario, esos campos no se devuelven si se especifican en 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 utilizar el fieldHandles de los recursos que devuelve 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 del tamaño de página recordsPerPage.

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 22:13:45 GMT-0500 (CDT))

  • created_by

Operadores permitidos

El operator define cómo comparar el valor e incluye:

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

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