Detaillierte Anleitung zur Verwendung von JSL zum Abrufen von Daten von der APIAlle,
Ich würde gerne die Anleitung der Community dazu erhalten, wie man mithilfe von JSL eine Verbindung zu JMP herstellt und Daten von einer API in JMP überträgt. Ich habe in der Community einige Beiträge zu diesem Thema durchgesehen:
Darüber hinaus habe ich Kontakt aufgenommen @Craige_Hales für Hinweise zum gleichen Thema. Meine Frage an Craige war:
Ich werde offen über meine Unwissenheit und mein begrenztes Wissen zu diesem Thema sprechen, um Ihre kostbare Zeit nicht zu verschwenden. Ich weiß ziemlich wenig über APIs und habe bisher nicht viel mit APIs gearbeitet.
Eine kurze Zusammenfassung dessen, was ich über das Thema innerhalb von JMP verstehe, ist wie folgt:
1. JMP kann Informationen von APIs streamen, mit der Einschränkung, dass die API eine http- und keine https-API sein sollte – in meinem Fall ist es https
2. JMP kann eine Verbindung zu R herstellen. Wenn das Streamen von Daten von der API in JMP nicht möglich ist, hoffe ich, in R zu streamen und die Daten an JMP weiterzuleiten. Allerdings bin ich mir nicht sicher, wie sehr sich dies bei meiner Bewerbung verzögern würde.
3. Socket ist ein Objekt, das das Streamen von Informationen von einer Verbindung zu einer API oder einem anderen Computer im Netzwerk ermöglicht. Sockets ermöglichen das Streamen und Senden von Informationen
Ist das richtig? Wenn ja, werde ich versuchen, ein Testskript zu erstellen, das Informationen von meiner API streamt. Wenn nein, können Sie mich bitte korrigieren und mich auf Ressourcen hinweisen, die mir bei diesem Prozess helfen könnten?
Ich habe es mit einer REST-API zu tun, die auf https verfügbar gemacht werden kann. Der Authentifizierungsmechanismus basiert auf den OAuth2-Richtlinien.
Für den Fall, dass ich dies nur außerhalb von JMP erreichen kann, würde ich lieber mit R/Python arbeiten
Betreff: Detaillierte Anleitung zur Verwendung von JSL zum Abrufen von Daten von der APIDa JMP 14 seit fast 9 Monaten verfügbar ist, denke ich, dass ich einen Hinweis hinzufügen werde, in dem dies irgendwie gezeigt wird:
Erste Schritte mit REST-in-JMP/ta-p/64104
und examples-of-http-requests.shtml
HttpRequest ist cool 
Bester Martin
Betreff: Detaillierte Anleitung zur Verwendung von JSL zum Abrufen von Daten von der APIMeine erste Wahl ist das httr-Paket in R.Es verfügt über sehr ausgereifte Get/Request- und Parsing-Funktionen, einschließlich JSON.Die Dokumentation ist gut und es gibt viele Beispiele.Nach der Installation ist dies alles, was Sie brauchen, um Daten von der ersten API, die ich finden konnte und die keine Anmeldeinformationen benötigt, in JMP zu übertragen:
Names default to here( 1 );
R Init( );
R Submit("
library(httr)
httpResponse <- GET(\!"https://swapi.co/api/people/1/?format=json\!")
parsedContent = as.data.frame(content(httpResponse, \!"parsed\!"))
");
dtHidden = R Get( parsedContent );
R Term();
dt = dtHidden << Subset( Link to Original Data Table(0) );

Betreff: Detaillierte Anleitung zur Verwendung von JSL zum Abrufen von Daten von der APIDie beste Empfehlung, die ich geben kann, ist, nur ein paar Monate zu warten, bis JMP 14 veröffentlicht wird. Ich denke, Sie werden froh sein, dass Sie es getan haben, denn dann wird es viel einfacher sein.
Betreff: Detaillierte Anleitung zur Verwendung von JSL zum Abrufen von Daten von der APITut mir leid, dass ich so etwas noch nicht gemacht habe.Viel Glück!
Betreff: Detaillierte Anleitung zur Verwendung von JSL zum Abrufen von Daten von der API@Jeff_Perkinson , @Wendy_Murphrey , @MS , @pmroz
Irgendwelche Gedanken?
Betreff: Detaillierte Anleitung zur Verwendung von JSL zum Abrufen von Daten von der API@Craige_Hales ,
Ich habe freundlicherweise die folgende Anleitung zur Verfügung gestellt:
API ist eine Spezifikation für die Nutzung eines Dienstes. Es gibt nicht viel von einem Standard, selbst unter den APIs, die das behaupten ausruhen -basierend. Sie werden höchstwahrscheinlich viel lesen.
Ich glaube, Sie haben vorhin erwähnt, dass Sie es tun mussten authentifizieren zu dem Dienst, den Sie nutzen möchten. Die Twitter-Authentifizierung ist mit OAuth2 ein ziemlich komplizierter Prozess, über den ich nicht sprechen kann ... Ich bin durchgestolpert und habe es zum Laufen gebracht, und es stellt einen Großteil der JSL im 7-Dinge-Blog dar.
Oder Sie haben möglicherweise eine viel einfachere Authentifizierung mit einem Passwort.
wenn Sie eine Verbindung zu einem herstellen Wenn Sie eine Website über einen Browser aufrufen, streamt ein Socket den HTML-Code von der Website in den Browser. Normalerweise hat der HTML-Code eine endliche Länge, aber wenn es auf dem Server ein Programm gibt, das den HTML-Code generiert, ist es durchaus möglich, dass er ewig streamt.
Die Sockets von JMP können dies mit http tun. Curl kann das mit https (oder http) machen. JMP 14 verfügt über eine integrierte Curl-Unterstützung.
Ein restbasierter Dienst übergibt Ihnen wahrscheinlich JSON-Daten. (Ich kann nicht mit dem Schritt halten, was in jeder JMP-Version enthalten ist. Ich glaube, 13 hat eine gewisse JSON-Unterstützung und 14 möglicherweise mehr. Es gibt auch etwas JSL, mit dem Xan und ich vor einiger Zeit gespielt haben.) JSON sind verschachtelte Schlüsselwertdaten , nicht besonders menschenfreundlich, aber auch nicht schlecht.
Ein Teil der Magie des Daten-Streamings besteht darin, zu erkennen, dass Curl oder ein Socket Ihnen die meisten Daten liefern wird, bis jetzt. und vielleicht in kleinen Stücken. Daher müssen Sie es möglicherweise in komplette Blöcke zusammensetzen und herausfinden, wo die Blockgrenzen liegen. und behalten Sie die letzten paar Bytes des nächsten Blocks bei und warten Sie, bis der Rest vom Socket oder Curl geliefert wird. Wenn Sie sich das Connect-Beispiel ansehen, werden Sie eine Vorstellung davon bekommen ... eine Schleife, die den Socket abfragt und ein immer längeres Ergebnis liefert, wenn die Daten eintreffen. Obwohl dieses Beispiel weiß, dass die Daten endlich sein sollten, wartet es, bis alles verfügbar ist, bevor es fortfährt. Das Twitter-Beispiel (irgendwo darin, es ist schon lange her) verwendet RunProgram, um für immer einen Stream von Curl abzurufen. Die Runprogram-Lesefunktion verkettet auch Daten miteinander, verarbeitet die Daten jedoch gelegentlich, wenn sie erkennt, dass es sich um einen vollständigen Datenblock handelt. Beim Socket gibt es eine explizite Schleife. In der Twitter-Runprogram-Logik ist die Schleife implizit ... der Runfunction-Callback wird dadurch gesteuert, dass das Curl-Programm weitere Daten von Twitter empfängt.