AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Amazon API - WSDL - Developer Program
Thema durchsuchen
Ansicht
Themen-Optionen

Amazon API - WSDL - Developer Program

Ein Thema von arne99 · begonnen am 3. Jul 2007 · letzter Beitrag vom 5. Jul 2007
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von arne99
arne99

Registriert seit: 11. Jan 2005
Ort: Hamburg
158 Beiträge
 
Turbo Delphi für Win32
 
#1

Amazon API - WSDL - Developer Program

  Alt 3. Jul 2007, 15:22
Teilweise bezugnehmend: [DP-Beitrag] Amazon API Connect

Hallo,

gibt es bereits von euch gefundene Beispiele bzw. Routinen mit der API in Delphi f. W32 umzugehen?

Ich habe schon einige Ansätze gefunden, jedoch gibt mir selbst das Developer Programm von Amazon nicht mehr Beispiele.

Was ich suche wäre:

Ansätze, CodeSchnipsel o.Ä. für:
  • Produktsuche
  • Thumbnail holen und in TImage packen / cachen

Leider scheitert es bei mir schon beim Verbinden mit der WSDL File und meiner Amazon Dev Account ID.

Vielen Dank im Vorraus.
Arne
// u know? ID Service www.topsta.de
  Mit Zitat antworten Zitat
CCRDude
(Gast)

n/a Beiträge
 
#2

Re: Amazon API - WSDL - Developer Program

  Alt 3. Jul 2007, 15:43
Habs ja schon im anderen Topic geschrieben, aber wenn's so wichtig ist, schreib ich mal eben ne LGPL-Unit dafür, die meinen eh schon vorhandenen Code schöner macht
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Amazon API - WSDL - Developer Program

  Alt 3. Jul 2007, 16:06
Delphi-Quellcode:
  keyword := 'Mein Suchbegriff';
  ID := 'Meine ID ABC';
  Image := 'MediumImage'; // Imagegröße
  T := 'http://webservices.amazon.de/onca/xml?Service=AWSECommerceService&AWSAccessKeyId='+ID+
         '&AssociateTag=&Operation=ItemSearch&SearchIndex=Music&Keywords=' +
         keywords+'&ResponseGroup=Medium';
  T := StringReplace(T,' ','%20',[rfReplaceAll]);
  HTTP := TIdHttp.Create();
  T := HTTP.Get(t);
  HTTP.Free;
  t := copy(t, Pos('<'+Image+'>', t), Pos('</'+Image+'>', t)-Pos('<'+Image+'>', t));
  t := copy(t, Pos('<URL>', t)+5, Pos('</URL>', t)-Pos('<URL>', t)-5);
und in t steht dann die url zum image
Dominik
  Mit Zitat antworten Zitat
CCRDude
(Gast)

n/a Beiträge
 
#4

Re: Amazon API - WSDL - Developer Program

  Alt 3. Jul 2007, 16:37
Na gut, ich hab's dann in 2225 statt 12 Zeilen gemacht, dafür wenigstens mit Fehlerbehandlung, ordentlichen Auslesen des XML, Möglichkeit alle Ergebnisse zu unterscheiden, etc.

snlProtoAmazonOnca.pas

Benutzung:
Delphi-Quellcode:
procedure snlProtoAmazonOncaTestExecute;
var al: TAmazonList;
begin
   al := TAmazonList.Create;
   al.DeveloperToken := 'XXXXXXXXX';
   al.AssociateID := 'YYYYYYYY';
   if not QueryArtist('New%20Model%20Army')
    then ShowMessage('Could not query artist!');
   if al.Count>0
    then ShowMessage(al[0].ImageUrlLarge);
   al.Free;
end;
edit: Die Unit noch minimal ergänzt um: 1. Indy als Download-Alternative und 2. DownloadAndSaveLargeImageFile in den Items, da Du die ja auch runterladen und speichern wolltest?
  Mit Zitat antworten Zitat
Benutzerbild von arne99
arne99

Registriert seit: 11. Jan 2005
Ort: Hamburg
158 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Amazon API - WSDL - Developer Program

  Alt 3. Jul 2007, 16:50
Vielen Vielen Dank, wird getestet.

Zur Info an alle "Neulinge":
Developer Token: If you signed up to use Amazon Web Services prior to August 2004, you have a Developer Token. As Developer Tokens are no longer supported and will not work with newer services, we encourage anyone who has a Developer Token to create a new account.
Arne
// u know? ID Service www.topsta.de
  Mit Zitat antworten Zitat
Benutzerbild von arne99
arne99

Registriert seit: 11. Jan 2005
Ort: Hamburg
158 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Amazon API - WSDL - Developer Program

  Alt 3. Jul 2007, 17:52
WO deklariere ich: [DCC Error] snlProtoAmazonOnca.pas(1225): E2003 Undeclared identifier: 'XMLify' ?

Danke im Vorraus.

Zitat:
edit: Die Unit noch minimal ergänzt um: 1. Indy als Download-Alternative und 2. DownloadAndSaveLargeImageFile in den Items, da Du die ja auch runterladen und speichern wolltest?
Vielen Dank. Letztes wird mir helfen. Wenn ich oberen Fehler behoben bekomme.
Arne
// u know? ID Service www.topsta.de
  Mit Zitat antworten Zitat
CCRDude
(Gast)

n/a Beiträge
 
#7

Re: Amazon API - WSDL - Developer Program

  Alt 3. Jul 2007, 18:14
Ah, Tschuldigung, das war gerade in die snlCollection.pas gewandert

Delphi-Quellcode:
function XMLify(AText: string): string;
begin
   AText := StringReplace(AText,'&','&amp;',[rfReplaceAll]);
   Result := AText;
end;
  Mit Zitat antworten Zitat
Benutzerbild von arne99
arne99

Registriert seit: 11. Jan 2005
Ort: Hamburg
158 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Amazon API - WSDL - Developer Program

  Alt 3. Jul 2007, 18:28
Muss nochmal stören:

Ich bin gerade am Debuggen und versuche rauszubekommen wieso ich keine Ausgabe erhalte.
Ich erhalte keine der Messageboxes.

Liegt das daran dass ich keinen DevToken besitze? (Weil an sich nicht notwendig, laut Amazon Api References)
Arne
// u know? ID Service www.topsta.de
  Mit Zitat antworten Zitat
CCRDude
(Gast)

n/a Beiträge
 
#9

Re: Amazon API - WSDL - Developer Program

  Alt 3. Jul 2007, 18:33
Keinerlei Ausgabe? Lass mal überlegen... das würde heißen, das einerseits das QueryArtist funktioniert hat, andererseits die Rückgabeliste aber leer ist.

Du kannst beim debuggen ja mal einen Breakpoint auf die dritte Codezeile von QueryGeneral setzen (nachdem sUrl gesetzt wurde), sUrl in eine Watch hauen und von dort in die Zwischenablage kopieren und im Browser testen.

Wahrscheinlich müsste ich in der Unit noch ergänzen, daß der Rückgabewert, der innerhalb der XML-Datei angegeben wird, für Result ausgewertet wird...

PS: Download erweitert, Rückgabewert jetzt aktualisiert, pack in das erste ShowMessage noch ein al.LastErrorMessage, das zeigt Dir den genauen Fehler an.

edit #2: in diesem Demo ist zufälligerweise ein dev-token angegeben, das sogar gültig ist

Auf längere Frist sollte ich aber vielleicht einen Query der neuen URL, die nicht per dev-token funktioniert, ergänzen.
  Mit Zitat antworten Zitat
Benutzerbild von arne99
arne99

Registriert seit: 11. Jan 2005
Ort: Hamburg
158 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Amazon API - WSDL - Developer Program

  Alt 3. Jul 2007, 18:46
Juhuuu ich habs - und eigentlich nicht. Aber bin der Lösung nahe!

Die URL scheint Okay zu sein, wird aber nicht ausgegeben von Amazon, da:

Zitat:
We encountered an error while processing your request. Please make sure that you are using a valid developer token and that you have registered for this service. For more information, please visit http://www.amazon.com/webservices
Also von vorn:

Mein DevToken und AssID sind gesetzt, wohl aber in der falschen Reihenfolge oder gar ganz falsch?

In Amazon wird mir eine andere Bezeichnung gegeben:

Your Access Key ID:
-

Your Secret Access Key:
-

LÖSUNG: Man sollte es tauschen

Ergebnis: Exception: Die XML konnte nicht ausgelesen werden, hier Info:

Zeile 1180 von snlProtoAmazonOnca.pas stoppt er! (Access violation error)
Arne
// u know? ID Service www.topsta.de
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz