Guida dettagliata sull'utilizzo di JSL per ottenere dati dall'APITutto,
Vorrei ricevere indicazioni dalla community su come connettermi e ottenere dati da un'API in JMP utilizzando JSL. Ho letto un paio di post nella community su questo argomento:
Inoltre, ho contattato @Craige_Hales per avere indicazioni sullo stesso argomento. La mia domanda a Craige era:
Sarò sincero riguardo alla mia ignoranza e alla mia conoscenza limitata sull'argomento in modo da non farti perdere tempo prezioso. So poco delle API e non ho mai lavorato con le API molto in precedenza.
Una breve sinossi di ciò che ho capito sull'argomento in JMP è la seguente:
1. JMP può trasmettere informazioni dalle API, con il vincolo che l'API debba essere http e non https: nel mio caso è https
2. JMP può connettersi a R, se lo streaming di dati dall'API a JMP non è possibile, spero di eseguire lo streaming in R e passare i dati in JMP. Tuttavia, non sono sicuro di quanto ritardo introdurrebbe nella mia domanda.
3. Socket è un oggetto che consente lo streaming di informazioni da una connessione a un'API o a un altro computer nella rete. I socket consentono lo streaming e l'invio di informazioni
È corretto? Se sì, proverò a creare uno script di prova che trasmetta le informazioni dalla mia API. In caso negativo, puoi gentilmente correggermi e guidarmi verso risorse che mi aiuterebbero in questo processo
Ho a che fare con un'API REST che può essere esposta su https . Il meccanismo di autenticazione si basa sulle linee guida OAuth2.
Nel caso in cui potessi raggiungere questo obiettivo solo al di fuori di JMP, preferirei lavorare con R/Python
Ri: Guida dettagliata sull'utilizzo di JSL per ottenere dati dall'APIDato che JMP 14 è disponibile da quasi 9 mesi, penso di aggiungere qualche riferimento in cui questo viene in qualche modo mostrato:
Come iniziare con REST-in-JMP/ta-p/64104
ed esempi-di-richieste-http.shtml
HttpRequest è fantastico 
Miglior Martino
Ri: Guida dettagliata sull'utilizzo di JSL per ottenere dati dall'APIIl mio preferito è il pacchetto httr in R.Ha funzionalità di ricezione/richiesta e di analisi molto mature, incluso JSON.La documentazione è buona e ci sono molti esempi là fuori.Una volta installato, questo è tutto ciò che serve per inserire i dati in JMP dalla prima API che ho trovato che non necessitava di informazioni di accesso:
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) );

Ri: Guida dettagliata sull'utilizzo di JSL per ottenere dati dall'APILa migliore indicazione che posso offrire è di attendere solo pochi mesi prima del rilascio di JMP 14. Penso che sarai felice di averlo fatto perché allora sarà molto più semplice.
Ri: Guida dettagliata sull'utilizzo di JSL per ottenere dati dall'APIMi dispiace, non ho fatto niente del genere.Buona fortuna!
Ri: Guida dettagliata sull'utilizzo di JSL per ottenere dati dall'API@Jeff_Perkinson , @Wendy_Murphrey , @SM , @pmroz
Qualche idea ?
Ri: Guida dettagliata sull'utilizzo di JSL per ottenere dati dall'API@Craige_Hales ,
Si prega di fornire le seguenti indicazioni:
L'API è una specifica su come utilizzare un servizio. Non esiste uno standard molto elevato, nemmeno tra le API che affermano di esserlo riposo -basato. Leggerai molto, molto probabilmente.
Penso che tu abbia detto prima che dovevi farlo autenticare al servizio che desideri utilizzare. L'autenticazione di Twitter è un processo piuttosto complicato che utilizza OAuth2, di cui non sono qualificato per parlare... Ci sono riuscito per caso e l'ho fatto funzionare e rappresenta gran parte del JSL nel blog 7-things.
Oppure potresti avere un'autenticazione molto più semplice utilizzando una password.
quando ti connetti a a sito web da un browser, un socket trasmette l'HTML dal sito al browser. Di solito l'HTML ha una lunghezza finita, ma se sul server è presente un programma che genera l'HTML, è possibile che venga trasmesso in streaming per sempre.
I socket di JMP possono farlo con http. Curl può farlo con https (o http). JMP 14 avrà il supporto curl integrato.
È probabile che un servizio basato sul riposo ti fornisca dati JSON. (Non riesco a tenere il passo con ciò che accade in ogni versione di JMP; penso che 13 abbia un po' di supporto json e 14 potrebbe averne di più. C'è anche un po' di jsl con cui Xan e io abbiamo giocato qualche tempo fa.) json sono dati di valori-chiave nidificati , non particolarmente a misura d'uomo, ma neanche troppo male.
parte della magia dello streaming di dati è rendersi conto che il ricciolo, o un socket, ti fornirà la maggior parte dei dati, fino a questo momento. e magari a pezzetti. quindi potresti doverlo assemblare in pezzi completi e capire dove sono i confini dei pezzi. e aggrapparsi agli ultimi byte del pezzo successivo e attendere che il resto venga consegnato dal socket, o curl. Se guardi l'esempio di connessione, ne avrai un'idea... un ciclo che interroga il socket e genera un risultato sempre più lungo man mano che i dati arrivano. Sebbene quell'esempio sappia che i dati dovrebbero essere finiti e attende che siano tutti disponibili prima di procedere. L'esempio di Twitter (da qualche parte in esso, è passato molto tempo) utilizza RunProgram per ottenere uno stream da curl, per sempre. anche la funzione di lettura del programma di esecuzione concatena i dati insieme ma occasionalmente li elabora quando vede che hanno un pezzo completo. Con il socket c'è un ciclo esplicito. Nella logica del programma di esecuzione di Twitter il ciclo è implicito... la richiamata della funzione di esecuzione è guidata dal programma curl che riceve più dati da Twitter.