Studie+

Masseimport af billeder til Studieplus

Her mangler et uddrag...

Billeder gennem API’et

Det er muligt at importere billeder til vores studieløsning:  Studie+ API’et understøtter nu to endpoints:

  1. GET /billeder/{cpr}
  2. PUT /billeder
    1. følgende formparameter skal sættes:
      1. value={cpr eller unilogin værdien}
      2. billede=binary-file
      3. type={cpr eller unilogin}

Eksempel i formdata for brug af cpr:
?type=cpr&value=1234561234

og et eksempel med unilogin:

?type=unilogin&value=zxyz134z

Fremgangsmåde

For at kunne bruge API’et kræves det som sædvanligt, at man har en valid token. Ligeledes er der en begrænsning på billedets størrelse, som er sat til 2MB.

Enhver bruger af API’et kan selv implementere en løsning, der kan sende billederne til Studie+ API’et – Hvis dette ikke ønskes, har vi implementeret en simpel Java løsning, som skal startes lokalt.

OBS: Det kræves, at jeres API credentials har rettighed til at uploade billeder – tildeling af rettighed se vedlagt vejledning. Hvis man ikke er oprettet til APIet kan man anmode om angang med denne blanket: Bilag 4 Skema til API

Brug af image-uploader

Når du har downloadet image-uploader.zip skal du eksportere den indeholdte fil: image-uploader.jar. Denne fil gør det muligt at sende alle billeder direkte til Uddata API’et.

For at kunne bruge java filen kræves det, at computeren har Java installeret. En gratis version af Java kan installeres herfra: https://docs.aws.amazon.com/corretto/latest/corretto-8-ug/what-is-corretto-8.html

Konkret fremgangsmåde:

  1. eksportér jar filen
  2. opret en mappe, hvor alle billeder, som skal importeres ligger
    1. Alle billeder “kan” være navngivet i dette format: <cpr>.jpg. Eksempel: 1234561234.jpg eller 123456-1234.jpg, hvis man vælger cpr som <identifier>
    2. Alle billeder “kan” være navngivet i dette format: <unilogin>.jpg. Eksempel: xx1234.jpg, hvis man vælger unilogin som <identifier> – Dette virker kun for elever indtilvidere.
  3. kopier image-uploader.jar filen ind i samme mappe, hvor alle billederne ligger.
  4. Åben en terminal i mappen
  5. Kør kommando: java -jar image-uploader.jar <institutionsnummer> <api_version> <client_id> <client_secret> <identifier(cpr eller unilogin)>
    1. Eksempel med cpr som identifier: java -jar image-uploader.jar 123456 release my.ist.api_client.id 1f23e2f1e2f3saf1e3f51s3f51es351fes31fse32f1e3s1f cpr
    2. Eksempel med unilogin som identifier: java -jar image-uploader.jar 123456 release my.ist.api_client.id 1f23e2f1e2f3saf1e3f51s3f51es351fes31fse32f1e3s1f unilogin

Nu vil Java programmet begynde at uploade alle billederne, der findes i mappen. Hver gang .jar filen startes, lægges der en <tidsstempel>.log fil ved siden af .jar filen, som indeholder alle logs fra den gældende eksekvering.

Upload uden fejl

Hvis et billede uploades uden fejl, vil du få en log linje, der beskriver uploaders sti til billedet efterfulgt af ” got uploaded with image ressource id: ” efterfulgt af vores interne id på billedet. Bemærk, der står ikke længere 201. 

Statuskoder:

  • 404 betyder, at identifieren ikke ikke linkes til et individ i databasen og derfor kunne billedet ikke uploades.
  • 401 betyder, at jeres api credentials ikke er gyldige.
  • 403 betyder, at jeres api credentials ikke har de rigtige rettigheder.
  • 406 betyder, at billedet ikke blev accepteret. Typisk fordi, billedet er større end 2MB eller af anden type en JPEG formatet.
  • 400 betyder, at der anvendes en uddateret uploader version.