Als Sommerpraktikant bei JMP , mein Projekt umfasste die Arbeit mit APIs im Web.Ich hatte in den ersten Wochen des Projekts eine gewisse Lernkurve, als ich versuchte, verschiedene APIs in JMP zum Laufen zu bringen oder ob das überhaupt möglich war. Ich konnte einen Punkt des Verständnisses erreichen, als ich diese Analogie in einem Video mit dem Titel sah Was ist eine RESTful-API? Erklärung von REST & HTTP :
Stellen Sie sich vor, Sie sind in einem Restaurant. Sie sind der Verbraucher/Benutzer, die Person, die interagiert, um von jemand anderem etwas zurückzubekommen, das Sie zurückhaben möchten. Der Kellner, der Ihre Bestellung entgegennimmt, kann mit einer API verglichen werden; Der Kellner wird kommen und Ihre Bestellung entgegennehmen (schicken) es zurück in die Küche (oder in diesem Fall der Server oder jede Art von Software, mit der die API möglicherweise kommuniziert) . Wenn die Bestellung abgeschlossen ist (oder die Software oder der Server gibt eine Antwort) , der Kellner kommt zurück und gibt Ihnen Ihre Bestellung (Erfüllen Sie Ihre Anfrage) . Die Anfrage ist abgeschlossen!
Nachdem ich diese Analogie gefunden hatte, hatte ich ein gutes mentales Modell für die Funktionsweise von APIs.
Der Schwerpunkt meines Projekts lag auf der Erstellung eines JMP Add-In, das auf REST-APIs im Web zugreifen kann.Ich musste einige Arbeitsbeispiele zeigen und den Benutzern auch etwas über REST-APIs beibringen und ihnen helfen, zu verstehen, was hinter den Kulissen passiert, wenn sie das Add-In verwenden.

Die Motivation hinter diesem Projekt war die neue Funktion von HTTP Request() in JMP 14. APIs, insbesondere der Architekturstil von REST, gelten noch als relativ neu. Meine erste Herausforderung bestand darin, etwas über REST zu lernen:
Eine REST oder RESTful API ist eine API mit den Komponenten und Qualitäten eines REST-Architekturstils. REST steht für Representation State Transfer und definiert ein Protokoll und eine Reihe von Standardoperationen für das Verhalten gut gestalteter Anwendungen. REST wird hauptsächlich von Browsern verwendet und das Framework könnte als „die Sprache des Internets“ bezeichnet werden. Um als RESTful zu gelten, muss eine Anwendung über sechs Hauptattribute verfügen: Client-Server-Architektur, Zustandslosigkeit, Cachefähigkeit, ein mehrschichtiges System sein, die Fähigkeit, Code bei Bedarf auszuführen und über eine einheitliche Schnittstelle zu verfügen. Aus der Sicht des Endbenutzers spielt es keine große Rolle, ob eine API RESTful ist oder nicht, aber auf der Programmierseite gibt es viele Vorteile, RESTful zu sein, weshalb es zum Standard für APIs geworden ist.
Die nächste Herausforderung, die ich hatte, war JSL. Ich war mir nicht sicher, wie ich eine Benutzeroberfläche für das Add-In in JSL erstellen sollte, also habe ich mir Appbuilder für JMP angesehen. Ich habe mich entschieden, mit Appbuilder an dem Add-In zu arbeiten, da ich das Skript für das Back-End vom Skript für das Front-End (oder in diesem Fall Appbuilder) trennen und alles visuell organisieren konnte.
So sieht das Endprodukt aus:

Ich habe recherchiert und es in der Hilfe-Schaltfläche oben zusammengestellt, für diejenigen, die eine ausführlichere Beschreibung der verschiedenen Authentifizierungsmethoden wünschen. Es enthält eine Beschreibung jeder Art der Authentifizierung, die wir in Angriff nehmen werden.
Als nächstes kam der lustige Teil. Ich habe verschiedene APIs gefunden, auf die ich zugreifen und die ich in meinem Add-In verwenden kann. Die CAT-API ist mein persönlicher Favorit, daher habe ich sie zweimal verwendet (einmal ohne Authentifizierung und einmal mit Authentifizierung). Jedes Mal, wenn Sie auf „Senden“ klicken, erscheint eine neue Katze!


Nachdem ich die Cat-API zum Laufen gebracht hatte, fand ich mehrere andere gute Beispiele und fügte diejenigen, die mir am besten gefallen, in das Add-In ein.

Die Arbeit am Tumblr-Beispiel hat mir besonders viel Spaß gemacht, da es so viele Informationen abruft (den gesamten Tumblr-Blog). Es ist mir nicht gelungen, die abgerufenen Informationen optisch darzustellen Das hübsch, aber ich denke, es macht immer noch einen guten Job. Wer Informationen zu einem anderen Tumblr-Beitrag abrufen möchte, kann die Tumblr-Blogadresse im JSL-Skript hier austauschen:

Das letzte Beispiel war etwas Besonderes. Dropbox ist ein Beispiel, an dem bereits einer der anderen Hauptentwickler gearbeitet hat. Ich wollte dieses Beispiel in mein Add-In integrieren, um es so benutzerfreundlich wie möglich zu gestalten, damit es auch jeder ohne Programmiererfahrung nutzen kann. Die Tatsache, dass es über JMP mit einem Klick eine Datei und einen Ordner aus der Ferne hochladen kann, erstaunt mich immer noch.

Ich hoffe, Sie werden es ausprobieren. Bitte hinterlassen Sie Ihre Fragen oder Kommentare.
Anweisungen zur Verwendung des Add-Ins selbst finden Sie in meinem Beitrag Erste Schritte mit REST .