Cerca i termini di ricerca specificati nell'archivio dell'indice dei metadati. Restituisce i dati delle risorse come il metodo searchAssets.
Mentre searchAssetsByMetadata
consente di eseguire ricerche nei campi metadati definiti dall'utente. Tali campi non vengono restituiti se sono specificati in responseMetadataArray
. Per illustrare questo punto, il seguente esempio di codice:
<ns:responseMetadataArray>
<ns:items>custom_attributes.x</ns:items>
</ns:responseMetadataArray>
restituisce un valore null:
<items>
<name>custom_attributes.x</name>
<value>null</value>
</items>
Per risolvere questo problema, è possibile utilizzare fieldHandles
delle risorse restituite dalla ricerca da eseguire getAssets
(vedere anche getAssets). Questo metodo ottiene i valori dei campi definiti dall'utente per le risorse in questione. Utilizza l’esempio di sintassi seguente per eseguire ricerche nei campi di metadati definiti dall’utente:
<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
Input (searchAssetsByMetadataParam)
Nome | Tipo | Obbligatorio | Descrizione |
---|---|---|---|
companyHandle |
xsd:stringa |
Sì |
La maniglia per l'azienda. |
Filtro |
type:SearchFilter |
No |
Filtri che consentono di definire i criteri di ricerca. Consulta SearchFilter. |
metadataConditionArray |
type:MetadataConditionArray |
No |
Condizioni che definiscono i criteri di ricerca. Per ulteriori informazioni, vedere di seguito. |
responseMetadataArray |
type:StringArray |
No |
Campi aggiuntivi da compilare nella risposta nel riepilogo delle risorse. I campi devono essere specificati nel formato normalizzato. |
recordsPerPage |
xsd:int |
No |
Numero di risorse restituite dalla risposta. Il valore predefinito è 1000. |
resultsPage |
xsd:int |
No |
Specifica la pagina di risultati da restituire, in base a recordsPerPage dimensioni della pagina. |
sortBy |
xsd:stringa |
No |
Ordina per campo risorsa selezionato. |
sortDirection |
xsd:stringa |
No |
Scelta della direzione di ordinamento. L'impostazione predefinita è Crescente. |
Output (searchAssetsByMetadataReturn)
Nome | Tipo | Obbligatorio | Descrizione |
---|---|---|---|
totalRows | xsd:int |
No | Numero di corrispondenze. |
assetArray | types:AssetArray |
No | Array di risorse restituite dalla ricerca. |
Struttura articolo
metadataConditionArray
la struttura è la seguente:
<ns1:items>
<ns:fieldHandle>field_handle</ns:fieldHandle>
<ns:op>operator</ns:op>
<ns:value>comparison_value</ns:value>
</ms1:items>
Valori
field_handle
è la chiave di ricerca dei metadati. Può contenere la notazione del punto. I valori possibili includono:
asset_id
(senza prefisso)
name
folder_path
type
file_name
description
comment
user_data
sku
modified_at
modified_by
created_at
(come modified_at
(Data nella forma: Ven 25 luglio 2014 22:13:45 GMT-0500 (CDT)
created_by
Operatori consentiti
Il operator definisce come confrontare il valore e include:
Equals
NotEquals
Contains
NotContains
StartsWith
EndsWith
Il comparison_value
è il termine da cercare.
In questo esempio di codice viene eseguita una ricerca con i seguenti criteri di metadati:
name
il campo contiene 1000801
.
dc.rights
field è uguale a Per Jessen Schmidt
.
Request Contents (Richiesta contenuto)
<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>
Risposta
<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>