searchAssetsByMetadata

Última actualización: 2023-05-23
  • Creado para:
  • Developer
    Admin

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

While searchAssetsByMetadata le permite buscar campos de metadatos definidos por el usuario, que no se devuelven si se especifican en la variable responseMetadataArray. Para ilustrar este punto, vea 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 de la búsqueda para ejecutarse. getAssets (consulte también getAssets). Este método obtiene los valores de 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 compañía.

Filtrar

type:FiltroBúsqueda

No

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

Consulte SearchFilter.

metadataConditionArray

type:MetadataConditionArray

No

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

responseMetadataArray

type:StringArray

No

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

recordsPerPage

xsd:int

No

El número de recursos que devuelve la respuesta. El valor predeterminado es 1000.

resultsPage

xsd:int

No

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

sortBy

xsd:string

No

Ordenar por el campo de recurso seleccionado.

sortDirection

xsd:string

No

Elección de la dirección del orden. Ascendente 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 formato: vie jul 25 2014 22:13:45 GMT-0500 (CDT)

  • created_by

Operadores permitidos

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

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

El comparison_value es el término que se debe 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