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>
IpsUser
IpsAdmin
IpsCompanyAdmin
ImagePortalAdmin
ImagePortalUser
ImagePortalContrib
ImagePortalContribUser
Entrada (searchAssetsByMetadataParam)
Nombre | Tipo | Obligatorio | Descripción |
---|---|---|---|
companyHandle |
xsd:string |
Sí |
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. |
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.
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>