searchAssetsByMetadata searchassetsbymetadata
Söker i metadataindexarkivet efter de angivna söktermerna. Returnerar resursdata som metoden searchAssets.
Med searchAssetsByMetadata
kan du söka efter användardefinierade metadatafält, men dessa fält returneras inte om de anges i responseMetadataArray
. Följande kodexempel illustrerar detta:
<ns:responseMetadataArray>
<ns:items>custom_attributes.x</ns:items>
</ns:responseMetadataArray>
returnerar ett null-värde:
<items>
<name>custom_attributes.x</name>
<value>null</value>
</items>
Du kan undvika problemet genom att använda fieldHandles
av resurserna som returneras från sökningen för att köra getAssets
(se även getAssets). Den här metoden hämtar värden för användardefinierade fält för resurserna i fråga. Använd följande syntaxexempel för att söka mot användardefinierade metadatafält:
<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>
Auktoriserade användartyper section-9f85dd55ab574104b5fdc0f95aa0a0e2
IpsUser
IpsAdmin
IpsCompanyAdmin
ImagePortalAdmin
ImagePortalUser
ImagePortalContrib
ImagePortalContribUser
Parametrar section-5f1edb9c5b914160ab361f4364b8aa8d
Indata (searchAssetsByMetadataParam)
Utdata (searchAssetsByMetadataReturn)
xsd:int
types:AssetArray
metadataConditionArray - information section-1af4a4a22f82451eabdf6dfe13d9f27d
Objektstruktur
Strukturen för metadataConditionArray
är följande:
<ns1:items>
<ns:fieldHandle>field_handle</ns:fieldHandle>
<ns:op>operator</ns:op>
<ns:value>comparison_value</ns:value>
</ms1:items>
Värden
field_handle
är söknyckeln för metadata. Den kan innehålla punktnotation. Möjliga värden är:
-
asset_id
(utan prefix) -
name
-
folder_path
-
type
-
file_name
-
description
-
comment
-
user_data
-
sku
-
modified_at
-
modified_by
-
created_at
(samma sommodified_at
(datum i formatet: fre 25 juli 2014 22:13:45 GMT-0500 (CDT)) -
created_by
Tillåtna operatorer
operator definierar hur värdet ska jämföras och inkluderar:
Equals
NotEquals
Contains
NotContains
StartsWith
EndsWith
comparison_value
är den term du ska söka efter.
Exempel section-53a12b9c023e4e629eddf5719c955ad4
Det här kodexemplet utför en sökning med följande metadatavillkor:
-
Fältet
name
innehåller1000801
. -
Fältet
dc.rights
är lika medPer Jessen Schmidt
.
Begäran
<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>
Svar
<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>