searchAssetsByMetadata

Durchsucht das Metadatenindex-Repository nach den angegebenen Suchbegriffen. Gibt Asset-Daten wie die searchAssets-Methode zurück.

Während searchAssetsByMetadata Ihnen die Suche nach benutzerdefinierten Metadatenfeldern ermöglicht, werden diese Felder nicht zurückgegeben, wenn sie in responseMetadataArray angegeben sind. 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 verwenden, die von der Suche zurückgegeben werden, um getAssets auszuführen (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>

Autorisierte Benutzertypen

  • IpsUser
  • IpsAdmin
  • IpsCompanyAdmin
  • ImagePortalAdmin
  • ImagePortalUser
  • ImagePortalContrib
  • ImagePortalContribUser

Parameter

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 Seite der zurückzugebenden Ergebnisse basierend auf der Seitengröße recordsPerPage an.

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.

metadataConditionArray-Details

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): Fri Jul 25 2014 22:13:45 GMT-0500 (CDT))

  • created_by

Zugelassene Operatoren

Der operator definiert, wie der Wert verglichen und Folgendes eingeschlossen wird:

  • Equals
  • NotEquals
  • Contains
  • NotContains
  • StartsWith
  • EndsWith

comparison_value ist der Begriff, nach dem gesucht werden soll.

Beispiele

Dieses Codebeispiel führt eine Suche mit den folgenden Metadatenkriterien durch:

  • name 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>

Auf dieser Seite