Vai al contenuto

Query manuali

Per lo sviluppo backend e frontend, può essere utile inviare query manuali all'API Web di Gramps. Utilizzando HTTPie e jq, questo può essere fatto comodamente includendo l'autenticazione JWT.

Installazione

HTTPie si installa con pip:

python3 -m pip install httpie

Avrai bisogno della versione 3.0.0 o successiva di HTTPie.

jq può essere installato su Ubuntu tramite

sudo apt install jq

Recupero di un token di accesso

Per recuperare un token di accesso, interroga l'endpoint del token. Supponendo che la tua istanza di sviluppo sia in esecuzione su localhost:5555, puoi utilizzare il comando

http POST http://localhost:5555/api/token/ username=owner password=owner

Vedrai i token JSON come output.

Utilizzando jq, puoi anche memorizzare il token di accesso in una variabile di ambiente:

export ACCESS_TOKEN=$(http POST http://localhost:5555/api/token/ \
  username=owner password=owner | jq -r '.access_token')

Ora puoi utilizzare questo token in tutte le chiamate API che richiedono autenticazione, ad esempio

http -A bearer -a $ACCESS_TOKEN GET http://localhost:5555/api/metadata/

Nota che, per impostazione predefinita, i token di accesso scadranno dopo 15 minuti.