Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Achtung: Dies ist nicht der vollständige Artikel, sondern nur ein paar Seiten davon. Wenn Sie hier nicht erfahren, was Sie wissen möchten, finden Sie am Ende Informationen darüber, wie Sie den ganzen Artikel lesen können.

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

Gedrucktes Heft

Diesen Beitrag finden Sie in Ausgabe 1/2009.

Unser Angebot für Sie!

Lesen Sie diesen Beitrag und 500 andere sofort im Onlinearchiv, und erhalten Sie alle zwei Monate brandheißes Access-Know-how auf 72 gedruckten Seiten! Plus attraktive Präsente, zum Beispiel das bald erscheinende Buch 'Access 2010 - Das Grundlagenbuch für Entwickler'!

Diesen Beitrag twittern

Zusammenfassung

Erfahren Sie, wie Sie die Webservices von eBay nutzen, um automatisiert Artikel dort einzustellen.

Techniken

VBA, WebServices, Formulare

Voraussetzungen

Access 2000 und höher

Beispieldateien

eBay.mdb

Shortlink

651

eBay-Artikel einstellen mit Access

André Minhorst, Duisburg

Im Beitrag eBay-Artikelsuche mit Access in dieser Ausgabe (Shortlink 650) haben Sie gelernt, wie Sie die für den Zugriff auf die eBay-Webservices benötigten Voraussetzungen erfüllen und wie Sie die REST-API von eBay zur Artikelsuche einsetzen können. Im vorliegenden Beitrag gehen wir einen Schritt weiter und stellen selbst Artikel bei eBay ein.

Im Gegensatz zur Suche von Artikeln benötigen Sie für das Einstellen nicht die Befehle der Shopping-, sondern der Trading-API von eBay. Das Einstellen eines Artikels ist eine ganze Ecke schwieriger als die Suche danach. Allein das Ermitteln der geeigneten primären Kategorie, unter der Sie den Artikel einstellen möchten, ist eine Herausforderung. Und darum kümmern wir uns gleich im Anschluss an die Übersicht über das Einstellen von Artikeln bei eBay.

Artikel einstellen

Für das Einstellen von Artikeln bei eBay verwenden Sie die API-Funktion AddItem der Trading-API von eBay. Die Referenz zu dieser Funktion finden Sie unter [1]. In dieser Referenz erfahren Sie, wie ein Request im XML-Format aussehen muss, damit eBay den gewünschten Artikel einstellt. Die Liste der Elemente liefert genaue Informationen darüber, welche zum Pflichtprogramm gehören (Required) und welche Elemente in Abhängigkeit von anderen Elementen (Conditional) oder optional (Optional) zum Einsatz kommen.

Grundsätzlich bestehen die XML-Requests der Trading-API aus einigen Basis-Elementen, welche Informationen über den Benutzer (RequesterCredentials), die Fehlersprache (ErrorLanguage) oder den Warning Level liefern. Erst im Anschluss folgen im Element item die eigentlichen Informationen zum einzustellenden Artikel.

In der Beispieldatenbank übernimmt das Formular frmArtikelEinstellen die Aufnahme der Informationen zum einzustellenden Artikel und die Steuerung der weiteren Aktionen, also für das Einstellen und das Beenden des Angebots (s. Abb. 1). Letzteres werden Sie gerade beim Herumspielen mit der Beispieldatenbank des Öfteren brauchen.

pic001.png

Abb. 1: Mit diesem Formular können Sie ganz leicht Artikel bei eBay einstellen.

Eines vorneweg: Das Formular und die Beispieldatenbank behandelt nur einen kleinen Teil der tatsächlich beim Einstellen vorhandenen Möglichkeiten des eBay-Webservices.

Trotzdem sollte das simple Formular aus der obigen Abbildung für die meisten Fälle ausreichen, beziehungsweise leicht für Ausnahmen anpassbar sein.

Das Formular ist an die Tabelle tblArtikelEinstellen gebunden, die alle notwendigen Informationen speichert. Diese Tabelle sieht im Entwurf wie in Abb. 2 aus. Es gibt zwei Informationen, die größere Arbeit erfordern: die Kategorie eines Artikels sowie das Bild, das mit dem Artikel angezeigt werden soll.

pic002.png

Abb. 2: Entwurf der Tabelle zum Speichern der Daten bei eBay eingestellter Artikel

Kategorien ermitteln

eBay bietet Zigtausende Kategorien für die Einordnung von Artikeln an. Wenn Sie diese auf der Internetseite von eBay auswählen, geht dies recht schnell, indem Sie einfach eine der Hauptkategorien anklicken und sich dann durch die untergeordneten Kategorien bis hin zur gewünschten Kategorie hindurchnavigieren. Unter Access ist dies anders, denn Sie müssen die Kategorien ja überhaupt einmal in der Datenbank speichern - und das sind zum Zeitpunkt der Erstellung dieses Beitrags immerhin 37.581 an der Zahl. Die Kategorien sind auch noch hierarchisch aufgebaut, sodass Sie unter der Vorgabe eines sinnvollen Datenmodells auch noch die Beziehungen zwischen den Kategorien in einer weiteren Tabelle speichern müssen. Die beiden benötigten Tabellen und ihre Daten sehen wie in Abb. 3 aus. Nun müssen Sie die Kategorien nur noch vom eBay-Server in die Tabellen bekommen. Dies geschieht mit einem XML-Request an eine der API-Funktionen der Trading-API von eBay. Dieser sieht wie in Listing 1 aus und wird von der Routine KategorienEinlesen des Moduls mdlEbay erstellt. Die gleiche Routine empfängt auch das XML-Dokument mit der Antwort und wertet die darin enthaltenen Informationen aus. Eine stark gekürzte Fassung dieses Dokuments finden Sie in Listing 2. Eigentlich müssten wir Ihnen an dieser Stelle zeigen, welchen Code Sie verwenden, um den Request zu erstellen und an den Webservice zu senden und die Response auszuwerten, aber im Grunde müssen Sie die Kategorien nur dann und wann neu einlesen, daher scheinen die Funktionen zum Anbieten von Artikeln hierfür wesentlich besser geeignet. Die Routine KategorienEinlesen prüft selbstständig, ob eine neue Version der Kategorien vorliegt, und überschreibt nur in diesem Falle die bereits eingelesenen Kategorien.

Listing 1: XML-Request zur Ermittlung der Kategorien und ihrer Beziehungen

<?xml version="1.0"?>

<GetCategoriesRequest xmlns="urn:ebay:apis:eBLBaseComponents">

<RequesterCredentials>

<EBayAuthToken>...</EBayAuthToken>

</RequesterCredentials>

<DetailLevel>ReturnAll</DetailLevel>

<ErrorLanguage>en_US</ErrorLanguage>

<WarningLevel>High</WarningLevel>

<LevelLimit>8</LevelLimit>

</GetCategoriesRequest>

 

Listing 2: Liste der Kategorien und ihrer Beziehungen im XML-Format

<?xml version="1.0"?>

<GetCategoriesResponse xmlns="urn:ebay:apis:eBLBaseComponents">

<Timestamp>2008-12-29T16:51:26.838Z</Timestamp>

<Ack>Success</Ack>

<Version>595</Version>

<Build>e595_intl_Bundled_7675009_R1</Build>

<CategoryArray>

<Category>

<CategoryID>353</CategoryID>

<CategoryName>Antiquitäten &amp; Kunst</CategoryName>

<CategoryParentID>353</CategoryParentID>

...

</Category>

<Category>

<CategoryID>63184</CategoryID>

<CategoryName>Juwelier- & Uhrmacherbedarf</CategoryName>

<CategoryParentID>281</CategoryParentID>

...

</Category>

</CategoryArray>

<CategoryCount>592</CategoryCount>

<UpdateTime>2008-11-04T03:09:43.000Z</UpdateTime>

...

</GetCategoriesResponse>

pic003.png

Abb. 3: Tabellen zum Speichern der Kategorien und deren Beziehung

Artikelbilder

Neben den Kategorien sind die Artikelbilder unter Umständen ein weiteres Element, das Ihrer besonderen Aufmerksamkeit bedarf. Unter Umständen deshalb, weil es prinzipiell zwei Varianten gibt, wie Sie ein Bild zu Ihrem Artikel für eBay hinzufügen:

  • Sie platzieren das Bild auf einem eigenen Webserver oder an anderer Stelle im Internet, aber außerhalb von eBay, oder
  • Sie laden das Bild auf den Webspace von eBay hoch.

Im ersten Fall brauchen Sie einfach nur die URL des Bilds anzugeben, im zweiten Fall müssen Sie vorher eine weitere API-Funktion der Trading-API von eBay einsetzen, um das gewünschte Bild hochzuladen. Auch dieser Request ist keine Einbahnstraße, sondern liefert ein Ergebnis zurück - nämlich die URLs, unter denen eBay das Bild in verschiedenen Auflösungen (beispielsweise in der Originalauflösung oder in einer für die Anzeige eines Galeriebilds geeigneten Auflösung) bereitstellt.

Artikel einstellen

Kommen wir zum eigentlichen Einstellen eines Artikels.

Das Formular frmArtikelEinstellen fragt alle für die Minimalkonstellation notwendigen Informationen ab, die wie folgt aussehen:

  • Titel: Der Titel entspricht der Überschrift des Artikels im Angebot.
  • Description: Beschreibung des Artikels. Diese können Sie im Text- oder, was meist vorteilhafter aussieht, im HTML-Format angeben.
  • Dauer: Dieses Feld erwartet die Anzahl der Tage, für die eBay den Artikel anbieten soll.
  • Ort: Standort des Artikels. Wichtig vor allem für Anbieter von Artikeln, die nur abgeholt, aber nicht verschickt werden können.
  • Bezahlmethode: Im Beispiel können Sie nur eine Bezahlmethode angeben, normalerweise sind aber mehrere Methoden wie etwa die Kombination Überweisung und PayPal möglich.
  • PayPalEMail: Wenn Sie als Bezahlmethode PayPal auswählen, müssen Sie eine gültige E-Mail-Adresse angeben, unter der Ihr PayPal-Konto gemeldet ist.
  • KategorieID: ID der Kategorie, die Sie für den Artikel ausgewählt haben. Die Auswahl geschieht komfortabel über das Formular aus Abb. 4.
  • pic004.png

    Abb. 4: Auswahl der Hauptkategorie für einen Artikel

  • Startpreis: Dies ist der Preis, bei dem eine Versteigerung beginnt.
  • SofortKaufenPreis: Dieses Feld speichert den Preis, für den Kunden den Artikel sofort kaufen können.
  • BildURL: Enthält die URL des Bilds. Diese kann im Formular frmArtikelEinstellen entweder direkt eingegeben werden oder aber, wenn das Bild bei eBay gespeichert werden soll, über einen Datei-Öffnen-Dialog ausgewählt und hochgeladen werden.
  • GallerieTyp: Gibt an, ob Sie bereits in der Artikelliste ein Bild anzeigen möchten. In diesem Fall wählen Sie hier die Option Einfaches Galleriebild, sonst Keines. Es gibt noch weitere Varianten, welche die Beispielanwendung aber nicht berücksichtigt.
  • Versandart: Als Versandart stehen alle zum Zeitpunkt der Erstellung dieses Beitrags vorhandenen Versandarten zur Verfügung, von denen Sie eine per Kombinationsfeld auswählen.
  • Versandkosten: Die Versandkosten können Sie unabhängig von der gewählten Versandart eintragen.
  • Anzahl: Sie können mehr als ein Exemplar des gleichen Artikels anbieten. Dazu geben Sie hier einen anderen Wert als 1 an.

Die Tabelle hat drei weitere Felder, in welche die Anwendung nach dem Einstellen des Artikels beziehungsweise nach dem Beenden des Angebots entstehende Informationen einträgt:

  • eBayID: Nummer des Items, unter dem der Artikel bei eBay gespeichert wurde.
  • EingestelltAm: Zeitpunkt, an dem der Artikel bei eBay eingestellt wurde.
  • DurchBenutzerBeendetAm: Zeitpunkt, an dem das Angebot durch den Benutzer über die Beispielanwendung beendet wurde.

Sie haben das Ende des frei verfügbaren Teils des Artikels erreicht. Lesen Sie weiter, um zu erfahren, wie Sie den vollständigen Artikel lesen und auf viele hundert weitere Artikel zugreifen können.

Sind Sie Abonnent?Jetzt einloggen ...
 

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

Verwandte Beiträge:

eBay-Artikelsuche mit Access

Twittern mit Access

Amazon Webservices per VBA nutzen

Google Earth ferngesteuert, Teil II

Google per Web-Service abfragen

Performanter Webzugriff auf MySQL-Datenbanken

Datenbank goes Internet mit Dreamweaver Ultradev

Datenzugriffsseiten mit Access 2000

Automatischer Up- und Download per FTP

© 2003-2015 André Minhorst Alle Rechte vorbehalten.