Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   OPS Schnittstelle des EPA (https://www.delphipraxis.net/205764-ops-schnittstelle-des-epa.html)

powerpuetz 13. Okt 2020 21:05


OPS Schnittstelle des EPA
 
Hallo zusammen.

Es ist mittlerweile viele Jahre her, dass ich mal mit Delphi etwas programmiert habe. Um genau zu sein, gab es da aktuell die Delphi Version 7:shock:

Jetzt würde ich gerne mal wieder etwas ausprobieren, aber scheitere kläglich an der Aufgabe.

Was möchte ich machen?

Es gibt eine Schnittstelle beim Europäischen Patentamt, über die man Daten zu Patenten abfragen kann. Eine Doku zu dieser Schnittstelle findet man unter diesem Link:
ops_v3.2_documentation_-_version_1.3.16_en.pdf

Bitte schaut selber einmal in diese Doku rein, damit ich auch sicher sein kann, dass das was ich verstehe auch richtig ist.

Die Registrierung beim Amt habe ich erledigt und wurde auch freigeschaltet. Eine App habe ich angemeldet und einen Consumer Key sowie den Consumer Secret Key bekommen. Dieser muss nun per Base64 encodet werden und dann mittels HTTPS connection übertragen werden. Daraufhin erhält man einen Token der 20min gültig ist.

In dieser Zeit kann man dann Daten über die Schnittstelle abfragen.
Bei dem ganzen scheint es sich um eine Rest-Api zu handeln.

Delphi Version: 10.3 Community Edition

Wie soll es aussehen?

Es gibt ein Edit Feld in dem die Patentnummer eingetragen wird.
Einen Button, der die Abfrage startet.
Mehrere TLabel die dann die Informationen anzeigen, z.B. Anmeldedatum, Status, Titel etc.
Ein Memo in dem die Beschreibung steht.
Ein Memo in dem die Ansprüche stehen.
Eine Komponenete wo die Zeichnungen angezeigt werden.

Komponenten:
Ich vermute die RESTClient, RESTResponse, RestRequest werden hier richtig sein?


Ich würde mich freuen, wenn mich jemand an die Hand nehmen würde und mir hier helfen kann.

Grüße Tobias

Rollo62 14. Okt 2020 12:27

AW: OPS Schnittstelle des EPA
 
Um das Protokoll zu klären könntest Du erstmlal mit dem RestDebugger rumprobieren, ob die Daten erreichbar sind.

Der könnte dann auch die Komponenten vorkonfiguriert erstellen, mit dem der Zugriff dann möglich ist.

Bbommel 16. Okt 2020 08:56

AW: OPS Schnittstelle des EPA
 
Hallo Tobias,

wie weit bist du denn schon bzw. woran scheitert es? Wenn du mit Delphi 7 vor einigen Jahren gearbeitet hast, hast du ja wahrscheinlich einige Grundkenntnisse. Auch mit den von dir erwähnten Komponenten RestClient und RestRequest bist du auf dem richtigen Weg.

Etwas fies ist, zumindest wenn man das zum ersten Mal macht, die Arbeit mit OAuth, also die Authentifizierung. Aber auch das scheinst du laut deinem Post ja prinzipiell verstanden zu haben. Um dir das Token abzuholen, nutzt du am besten nicht die Rest-Komponenten, sondern eine "einfache" HTTP-Anforderung (siehe hier). Das Token kannst du dann für deine eigentlichen REST-Requests benutzen, indem du dem Rest-Client in der Eigenschaft "Authenticator" einen TOAuthAuthenticator zuweist (siehe hier).

Ich hoffe, da waren noch ein paar Stichworte dabei, die dich beim Basteln weiterbringen. Sonst, wie gesagt, einfach fragen, wo es konkret hakt.

powerpuetz 16. Okt 2020 10:55

AW: OPS Schnittstelle des EPA
 
Hallo zusammen,

Danke erstmal für die Antworten.

Ja den Restdebugger hatte ich bereits getestet. Komme aber nicht weiter.

Es scheitert direkt am Anfang beim Token.

Habe mir jetzt schon einige Beispiele zu den Rest-Komponenten angesehen. Allerdings scheint es mir so, dass alle einen Benutzernamen und ein Passwort übertragen.

Laut der Doku, wird hier aber beides zusammen gefasst, dann Base64 encoded und das Ergebnis wird übertragen.

Ich werde mir jetzt mal die angesprochene HTTP-Anforderung ansehen.

himitsu 16. Okt 2020 14:00

AW: OPS Schnittstelle des EPA
 
Für das OAuth gibt es bestimmt schon was Fertiges, damit ihr das nicht selbst behandeln müsst.

Bei Google suchendelphi rest oauth
https://www.delphipraxis.net/183649-...it-oauth2.html
usw.

powerpuetz 23. Okt 2020 06:51

AW: OPS Schnittstelle des EPA
 
Liste der Anhänge anzeigen (Anzahl: 4)
Hallo Zusammen,

Ich habe mal mit dem Rest-Debugger gespielt, aber es will nicht.

Anbei mal ein paar Screenshots. Einmal wie es in der Doku steht, einmal wie der HTTP_Debugger es mit geschnitten hat und dann wie ich es im Rest-Debugger eingegeben habe.

Benutzername und Passwort werden vorher zusammengesetzt und Base64 Encoded. Um zu prüfen ob hier ein Fehler in der Encodierung vorliegt, habe ich den Benutzernamen und das Passwort aus der Doku genommen und Encoded. Das Ergebnis ist auch jenes, welches in der Doku steht. Hier würde ich jetzt einen Fehler ausschließen wollen.

Gruß Tobias

powerpuetz 23. Okt 2020 07:06

AW: OPS Schnittstelle des EPA
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo zusammen,

gerade kam der Durchbruch.

Es fehlte das kleine Detail: Grant_type.

Anbei der Screenshot vom Rest-Debugger mit der "OK" Meldung. Im Rumpf ist dann auch der Token zu finden.

Gruß Tobias


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:00 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