Recherche le référentiel d’index de métadonnées pour les termes de recherche donnés. Renvoie des données de ressources telles que la méthode searchAssets.
while searchAssetsByMetadata
vous permet de rechercher par rapport aux champs de métadonnées définis par l’utilisateur. Ces champs ne sont pas renvoyés s’ils sont spécifiés dans la variable responseMetadataArray
. Pour illustrer ce point, l’exemple de code suivant :
<ns:responseMetadataArray>
<ns:items>custom_attributes.x</ns:items>
</ns:responseMetadataArray>
renvoie une valeur null :
<items>
<name>custom_attributes.x</name>
<value>null</value>
</items>
Pour contourner ce problème, vous pouvez utiliser la variable fieldHandles
des ressources renvoyées par la recherche à exécuter getAssets
(voir également getAssets). Cette méthode récupère les valeurs des champs définis par l’utilisateur pour les ressources en question. Utilisez l’exemple de syntaxe suivant pour effectuer une recherche par rapport aux champs de métadonnées définis par l’utilisateur :
<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
Entrée (searchAssetsByMetadataParam)
Nom | Type | Obligatoire | Description |
---|---|---|---|
companyHandle |
xsd:string |
Oui |
La poignée de la société. |
Filtrer |
type:SearchFilter |
Non |
Filtres permettant de définir des critères de recherche. Voir SearchFilter. |
metadataConditionArray |
type:MetadataConditionArray |
Non |
Conditions qui définissent les critères de recherche. Voir ci-dessous pour plus d’informations. |
responseMetadataArray |
type:StringArray |
Non |
Champs supplémentaires que vous souhaitez avoir renseignés sur la réponse dans le résumé de la ressource. Les champs doivent être spécifiés au format normalisé. |
recordsPerPage |
xsd:int |
Non |
Nombre de ressources renvoyées par la réponse. La valeur par défaut est 1000. |
resultsPage |
xsd:int |
Non |
Spécifie la page de résultats à renvoyer, en fonction de recordsPerPage taille de la page. |
sortBy |
xsd:string |
Non |
Tri par champ de ressource sélectionné. |
sortDirection |
xsd:string |
Non |
Choix de la direction du tri. La valeur ascendante est la valeur par défaut. |
Sortie (searchAssetsByMetadataReturn)
Nom | Type | Obligatoire | Description |
---|---|---|---|
totalRows | xsd:int |
Non | Nombre de correspondances. |
assetArray | types:AssetArray |
Non | Tableau des ressources renvoyées par la recherche. |
Structure d’élément
metadataConditionArray
La structure est la suivante :
<ns1:items>
<ns:fieldHandle>field_handle</ns:fieldHandle>
<ns:op>operator</ns:op>
<ns:value>comparison_value</ns:value>
</ms1:items>
Valeurs
field_handle
est la clé de recherche de métadonnées. Il peut contenir une notation par points. Les valeurs possibles sont les suivantes :
asset_id
(sans préfixe)
name
folder_path
type
file_name
description
comment
user_data
sku
modified_at
modified_by
created_at
(identique à modified_at
(Date dans le formulaire : 25 juillet 2014 22:13:45 GMT-0500 (CDT))
created_by
Opérateurs autorisés
Le operator définit comment comparer la valeur et inclure :
Equals
NotEquals
Contains
NotContains
StartsWith
EndsWith
Le comparison_value
est le terme à rechercher.
Cet exemple de code effectue une recherche avec les critères de métadonnées suivants :
name
Le champ contient 1000801
.
dc.rights
champ est égal à Per Jessen Schmidt
.
Request
<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>
Réponse
<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>