CLIENT_ID
/ CLIENT_SECRET
, der kan
bruges til at få adgang til APIet.
Kildekode, issue tracking, osv. findes på github:dbcdk/serviceprovider, Her finder man også specifikationer, og yderligere dokumentation i doc/. Eksempelforespørgsler, og en "getting started guide" er tilgængelig her: example.html guide.html.
This is the Open Platform, which is the API for the danish public libraries.
Danish libraries can get access directly from DBC, see the description in danish above. Others have to go through a library to get access.
Alle kald til API'et kræver en gyldig token.
Tokens til driftmiljø'et hentes fra https://auth.dbc.dk/. Dette er en OAuth2 server, hvor der kan logges på
med "password-grants".
Ved OAuth2-login er username
: "Lånernummer@Biblioteks-agency" og
password
er pinkode.
Det er muligt at udelade lånernummer, hvorved man logger ind som en anonym bruger (OAuth2
password
er så det samme som username
).
Hvis man udelader lånernummer, kan man også udelade biblioteks-agency, hvorved man logger ind som anonym bruger på nationalt niveau, i stedet for på et givent bibliotek.
Det er muligt at hent et token ud fra et ClientId/ClientSecret med følgende formular:
ClientId: | (påkrævet) | |
---|---|---|
ClientSecret: | (påkrævet) | |
Lånernummer: | (optional) | |
PIN: | (kun påkrævet hvis lånernummer) | |
Bibliotek-agency: | (påkrævet hvis lånernummer, ellers optional) | |
Eller man kan sende en request direkte til OAuth2 serveren. Herunder eksempel med curl:
curl --user "${CLIENT_ID}:${CLIENT_SECRET}" -X POST https://auth.dbc.dk/oauth/token -d "grant_type=password&username=${USERNAME}&password=${PASSWORD}"
Hvor ${USERNAME}
er Lånernummer@Biblioteks-agency, og
${PASSWORD}
er pinkode (eller det samme som ${USERNAME}
ved anonym bruger).
Eksempler på username/password er:
Type | Bibliotek | Lånernummer | ${USERNAME} | ${PASSWORD} | Kommentar |
---|---|---|---|---|---|
Brugerlogin - Låner på bibliotek | Specifikt bibliotek, fx Københavns Biblioteker (agency DK-710100) | Lånernummer, eksempelvis: 12345678 | 12345678@DK-710100 |
1234 |
Brugerens faktiske pin-kode, eksempelvis "1234" |
Bibliotekslogin - uden låner | Specifikt bibliotek, fx Københavns Biblioteker (agency DK-710100) | Ingen bruger / lånernummer | @DK-710100 |
@DK-710100 |
Der er ingen pinkode, så derfor er ${PASSWORD} det samme som ${USERNAME}: "@DK-710100" |
Annonym - ingen låner eller bibliotek angivet | Ingen bibliotek | Ingen bruger / lånernummer | @ |
@ |
Der er ingen pinkode, så derfor er ${PASSWORD} det samme som ${USERNAME}: "@" |