Durchsucht das Metadatenindex-Repository nach den angegebenen Suchbegriffen. Gibt Asset-Daten wie die searchAssets-Methode zurück.
while searchAssetsByMetadata
ermöglicht die Suche nach benutzerdefinierten Metadatenfeldern. Diese Felder werden nicht zurückgegeben, wenn sie in der Variablen responseMetadataArray
. Zur Veranschaulichung dieses Punkts finden Sie im folgenden Codebeispiel:
<ns:responseMetadataArray>
<ns:items>custom_attributes.x</ns:items>
</ns:responseMetadataArray>
gibt einen Nullwert zurück:
<items>
<name>custom_attributes.x</name>
<value>null</value>
</items>
Um dieses Problem zu umgehen, können Sie die fieldHandles
der Assets, die von der auszuführenden Suche zurückgegeben werden getAssets
(siehe auch getAssets). Diese Methode ruft die Werte für benutzerdefinierte Felder für die betreffenden Assets ab. Verwenden Sie das folgende Syntaxbeispiel, um nach benutzerdefinierten Metadatenfeldern zu suchen:
<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
Eingabe (searchAssetsByMetadataParam)
Name | Typ | Erforderlich | Beschreibung |
---|---|---|---|
companyHandle |
xsd:string |
Ja |
Der Handle für das Unternehmen. |
Filter |
Typ:SearchFilter |
Nein |
Filter, mit denen Sie Suchkriterien definieren können. Siehe SearchFilter. |
metadataConditionArray |
Typ:MetadataConditionArray |
Nein |
Bedingungen, die Suchkriterien definieren. Weitere Informationen finden Sie unten. |
responseMetadataArray |
Typ:StringArray |
Nein |
Zusätzliche Felder, die in der Antwort in der Asset-Zusammenfassung ausgefüllt werden sollen. Die Felder müssen im normalisierten Format angegeben werden. |
recordsPerPage |
xsd:int |
Nein |
Die Anzahl der von der Antwort zurückgegebenen Assets. Der Standardwert ist 1000. |
resultsPage |
xsd:int |
Nein |
Gibt die Ergebnisseite an, die zurückgegeben werden soll, basierend auf recordsPerPage Seitengröße. |
sortBy |
xsd:string |
Nein |
Sortieren nach ausgewähltem Asset-Feld. |
sortDirection |
xsd:string |
Nein |
Auswahl der Sortierrichtung. Aufsteigend ist die Standardeinstellung. |
Ausgabe (searchAssetsByMetadataReturn)
Name | Typ | Erforderlich | Beschreibung |
---|---|---|---|
totalRows | xsd:int |
Nein | Anzahl der Treffer. |
assetArray | types:AssetArray |
Nein | Array von Assets, die von der Suche zurückgegeben werden. |
Elementstruktur
metadataConditionArray
-Struktur wie folgt aussehen:
<ns1:items>
<ns:fieldHandle>field_handle</ns:fieldHandle>
<ns:op>operator</ns:op>
<ns:value>comparison_value</ns:value>
</ms1:items>
Werte
field_handle
ist der Metadaten-Suchschlüssel. Sie kann Punktnotation enthalten. Mögliche Werte sind:
asset_id
(ohne Präfix)
name
folder_path
type
file_name
description
comment
user_data
sku
modified_at
modified_by
created_at
(entspricht modified_at
(Datum im Formular: 25. Juli 2014 22:13:45 GMT-0500 (CDT))
created_by
Zugelassene Operatoren
Die operator definiert, wie der Wert verglichen und Folgendes eingeschlossen wird:
Equals
NotEquals
Contains
NotContains
StartsWith
EndsWith
Die comparison_value
ist der zu suchende Begriff.
Dieses Codebeispiel führt eine Suche mit den folgenden Metadatenkriterien durch:
name
-Feld enthält 1000801
.
dc.rights
field gleich Per Jessen Schmidt
.
Anforderung
<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>
Antwort
<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>