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 2 von 2     12   
CCRDude
(Gast)

n/a Beiträge
 
#11

Re: Amazon API - WSDL - Developer Program

  Alt 3. Jul 2007, 18:52
Hab Dir ne PM mit nem kompletten Beispiel geschickt

Die andere Amazon-Methode über Access-ID versuch ich auch mal, hab mir die gerade von Amazon zuschicken lassen, kann noch etwas dauern bis die Mail da ist

edit: so, Download nochmal angepasst; QueryType := aqtAWS tut nun per AWS mit gesetztem AccessKeyID statt per alter XML-Methode per gesetztem DeveloperToken abfragen. Hab's mit ner ISBN und nem Artist getestet.
Wird ja doch etwas Arbeit, gut daß ich das selber auch in TagsRevisited gebrauchen kann dann

(das alte AssociateID war nicht gleich der AccessKeyID, sondern nur die ID, über die man Kunden lenkt, damit man Provision bekommt; die alte Methode funktioniert halt per DeveloperToken, die neue per AccessKeyID, beide können die AssociateID verwenden)
  Mit Zitat antworten Zitat
Blackheart

Registriert seit: 4. Mai 2005
846 Beiträge
 
Delphi 7 Enterprise
 
#12

Re: Amazon API - WSDL - Developer Program

  Alt 3. Jul 2007, 20:40
@ CCRDude Hättst Du das Beispiel hier reingestellt hätten vieleicht auch andere etwas von dem Thread.
Blackheart
  Mit Zitat antworten Zitat
CCRDude
(Gast)

n/a Beiträge
 
#13

Re: Amazon API - WSDL - Developer Program

  Alt 3. Jul 2007, 21:00
Schau mal ganz unauffällig in Beitrag #4
Dort ist ja schon ein allgemeines Beispiel... aber wenn Du es ganz ausführlich willst:

Delphi-Quellcode:
program TestAmazon;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  Windows,
  Classes,
  Dialogs,
  snlProtoAmazonOnca;

procedure ShortInfoDump(Item: TAmazonItem);
begin
   WriteLn('ASIN: ' + Item.ASIN);
   WriteLn('Artists: ' + Item.Artists.CommaText);
   WriteLn('Product: ' + Item.ProductName);
   WriteLn('Manufacturer: ' + Item.Manufacturer);
   WriteLn('Release Date: ' + FormatDateTime('dddddd', Item.ReleaseDate));
end;

procedure snlProtoAmazonOncaTestExecute;
var al: TAmazonList;
begin
   al := TAmazonList.Create;
   al.AssociateID := ''; { TODO : Fill in your associate ID }
   al.DeveloperToken := ''; { TODO : Fill in your dev-token }
   al.AccessKeyID := ''; { TODO : Fill in your access key ID }

   al.QueryType := aqtDevToken;
   WriteLn('-=[ DevToken lookup for "New Model Army" ]=-');
   if al.QueryArtist('New%20Model%20Army') then begin
      if al.Count>0
       then ShortInfoDump(al[0]);
   end else WriteLn('Could not query artist (devtoken): ' + al.LastErrorMessage);
   WriteLn;

   WriteLn('-=[ AWS lookup for ASIN B000E1162Q ]=-');
   al.Clear;
   al.QueryType := aqtAWS;
   if al.QueryAsin('B000E1162Q') then begin
      if al.Count>0
       then ShortInfoDump(al[0]);
   end else ShowMessage('Could not query ASIN (aws): ' + al.LastErrorMessage);
   al.Free;
end;

begin
   snlProtoAmazonOncaTestExecute;
end.
Das führt beide Methoden vor; wer kein altes DevToken hat (arne99 meinte ja, die häts nur bis '04 gegeben), sollte natürlich nur al.QueryType = aqtAWS verwenden; die Query*-Routinen können alle beide Methoden.

Die beiden Bugs bzgl. ReleaseDate und Titel per AWS hab ich inzwischen gefixt, nur noch nicht hochgeladen, da die Turbo Delphi-IDE gerade mal wieder in eine Endlos-Error-Runde gegangen ist
  Mit Zitat antworten Zitat
Benutzerbild von arne99
arne99

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

Re: Amazon API - WSDL - Developer Program

  Alt 4. Jul 2007, 09:25
Erst einmal: Großes Lob und vielen Dank.

Zur Information an alle: der DevToken ist immer noch notwendig. Jedoch ist der jeweils '04 und '05 ausgelaufen. In AWS Profil einfach nachschauen ob man die notwendigen ID's erhalten hat, wenn nicht dann wohl oder übel neuen holen (per Request auf Seite) oder alle die sich vor '04 angemeldet haben: Neu Anmelden (5min Aktion).

Bin auch mit benannten Beispiel immer bei der Access Violation Error: Screenshot
Das tritt sowohl bei der VCL Applikation als auch bei der Konsolen-Anwendung auf. In dem Moment, als er die DevTokenNodes lesen will.

Delphi-Quellcode:
 if Node.Name='Details'
    then LoadFromDevTokenXmlNode(Node)
'Details' bekommt er, ok! - dann LoadFromDevTokenXmlNode(Node) - Funktion gefunden, und mal reingeschaut: Siehe Screenshot. Er kann das DateFormat nicht umsetzen. (glaube ich) oder er bekommt einen falschen Wert !?
Miniaturansicht angehängter Grafiken
accessviolation_174.jpg   accessviolation2_114.jpg  
Arne
// u know? ID Service www.topsta.de
  Mit Zitat antworten Zitat
CCRDude
(Gast)

n/a Beiträge
 
#15

Re: Amazon API - WSDL - Developer Program

  Alt 5. Jul 2007, 10:02
Hmmm...

Sorry, war gestern unterwegs, hab jetzt erstmal die neuere Datei mit den beiden Fuxes dadrüber hochgeladen.

Ich hab gerade im Demo darüber mal nur AssociateID und AccessKeyID gefüllt; wie zu erwarten schlug die erste Nachfrage fehl, die zweite funktionierte aber einwandfrei. Seh also nicht, wo da wirklich das DevToken noch zwingend nötig wäre...
Änder ich zudem das erste al.QueryType := aqtDevToken schon auf aqtAWS, wird auch dort die erste CD angezeigt.

Die Exception in LoadFromDevTokenXmlNode ist noch zu erwarten, irgendwie überlege ich noch, wie man StrToDate das Format, aus dem er konvertieren soll, noch richtiger beibringt! Aber das sollte ja abgefangen sein, sprich diese Exception sollte nur innerhalb der IDE angezeigt werden.

Anderes typisches Exception-Potential in den XML-Ladern ist halt überall, wo Nodes evtl. nicht existieren, hab nur bei den Standard-Nodes nichts drumgepackt, denn wenn die fehlen, wollte ich sogar nen Fehler. Kann man ja aber auch einfach umstellen, daß es die Fehler nicht per Exception abfängt... ist jetzt auch hochgeladen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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