searchAssetsByMetadata

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>

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 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.

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: 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.

Beispiele

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>

Auf dieser Seite