Collections fornisce delle API Javascript ed un editor di codice in-app.
L'API Javascript è limitata alle Fonti, puoi usare Javascript per cercare e creare documenti interrogando servizi esterni (es. Google Books). Per creare una Fonte, apri una raccolta → premi sul bottone → Modifica → Fonti.
L'API è accessibile attraverso l'oggetto app.
app.query
Questo oggetto contiene informazioni sulla query corrente. Il tipo di query dipende dal metodo di input (testo o codice a barre).
app.query.isText()bool
Restituisce vero per una query di testo.
app.query.isBarcode()bool
Restituisce vero per una query di codice a barre.
app.query.valueobject
Il valore della query. Per le query di testo o codice a barre, il valore è una stringa.
app.params
In una Fonte, questo oggetto conterrà i parameteri passati dallo script di ricerca allo script documento.
app.log(object)
Scrivi un messaggio nella console. Equivalente di console.log()
Risultato
app.result()
Questa funzione deve essere chiamata alla fine dello script per restituire un risultato. Questa funzione ha differenti dichiarazioni in base al contesto.
app.result(resultsarray of search results)
In uno script di ricerca, dovresti chiamarla passando un array di risultati di ricerca.
app.result(builderdocument builder)
In uno script documento, dovresti chiamarla passando un document builder.
app.fail()
Chiama questa funzione per terminare l'esecuzione dello script. Puoi chiamarla in un qualsiasi punto del codice.
Rete
app.request(urlstring)request
Crea una nuova richiesta HTTPS con l'URL specificato. Nota: l'app supporta solo richieste sicure HTTPS, qualsiasi URL http viene convertito in https.
request.methodstring
Imposta od ottieni il metodo per la richiesta. "GET" oppure "POST"
request.bodystring
Imposta od ottieni il body usato dalla richiesta POST.
request.addHeaderValue(valuestring, keystring)
Aggiungi un valore di header specificando un valore ed una chiave.
request.send()response
Invia la richiesta e restituisce un oggetto response.
response
La risposta ottenuta da request.send()
json()JSON object
Esegue il parsing della risposta come JSON. Restituisce undefined se l'oggetto non può essere parsato.
image()image
Esegue il parsing della risposta come immagine. Restituisce undefined se l'immagine non è valida.
xml()XML Document
Esegue il parsing della risposta come XML. Restituisce undefined se la risposta non può essere parsata. Visita Parser XML per la documentatione del parser XML.
statusCodeinteger
Ottieni lo status code della risposta. Se la richiesta fallisce, lo status code è -1.
successbool
Vero se il server invia una risposta. Falso negli altri casi (nessuna connessione).
app.image.fromURL(urlstring)image
Una scorciatoia per richiedere un'immagine dal web, restituisce un oggetto image, o undefined se la richiesta fallisce.
let request = app.request("https://www.google.com");
let response = request.send();
let data = response.json();
Storage
app.storage
Puoi usare app.storage come uno storage persistente chiave-valore. app.storage deve essere un dizionario e può immagazzinare qualsiasi oggetto serializzabile come string, number, date, array. Il dizionario è inizializzato prima di valutare uno script.
Quando crei un documento, di solito vuoi impostare elementi di una lista o documenti già esistenti. Per risolvere questo problema, l'app usa il concetto di suggerimento.
Un suggerimento contiene un identificatore e tutti i dati necessari a creare l'elemento. L'app cercherà l'elemento corrispondente all'identificatore specificato, e se quell'elemento non esiste, ne creerà uno nuovo.
Crea un nuovo suggerimento per un elemento lista specificando un alias ed un nome. Per impostazione predefinita, l'alias viene usato come identificatore.
suggestion.aliasAsIdentifier()
Use l'alias come identificatore.
suggestion.nameAsIdentifier()
Use il nome come identificatore.
let listItem = app.listItem.suggest("fantasy", "Fantasy");
document.setListItem(listItem, "genre");
Suggerisci un documento
Per suggerire un documento, crea un nuovo document builder e chiama builder.setIdentifier(fieldAlias) per impostare un campo come identificatore. Se stai creando un nuovo documento, non è necessario chiamare questo metodo.
let author = app.document.builder();
author.setIdentifier("name");
author.setString("J. K. Rowling", "name");
let book = app.document.builder();
book.setString("Harry Potter", "name");
book.setDocument(author, "author");
L'esempio crea un autore con il campo name come identificatore. L'autore viene poi salvato in un libro, l'app cercherà un autore dal nome "J. K. Rowling" o ne creerà uno nuovo se questo non esiste.