API til DR's programoversigter
Eksempel på programoversigt
(PDF, XML)
Baggrund
I forbindelse med Dansk Kulturarv-projektet og LARM.fm, er DR’s historiske
programoversigter blevet digitaliseret og OCR-behandlet. Dvs. at der kan
fremskaffes, vha. API'et beskrevet her
- et billede af programoversigten (PDF)
- og teksten fremkommet ved OCR behandling af scanningen
Der er data for programoversigter startende fra 23. marts 1925 op til
1. januar 1984. Der er 200.268 poster for programoversigter i denne
periode.
Programoversigterne er gemt i et databasesystem kaldet CHAOS.
API oversigt
CHAOS kan tilgås via tre dokumenterede API'er:
Javascript
biblioteket og PHP
biblioteket til CHAOS kan desværre ikke bruges til at
fremskaffe programoversigterne på nuværende tidspunkt.
Vi vil her gennemgå hvordan du fremskaffer programoversigter vha.
rå HTTP-kald.
Rå HTTP kald
1. Opret en session
For at bruge CHAOS skal du starte en session. Dette kan gøres med følgende
kald:
http://api.larm.fm/v6/Session/Create
Link
En session er nu oprettet. Du skal bruge sessionens ID
(sessionGUID
), der er gemt følgende sted i dataen:
<PortalResult>
<ModuleResults>
<ModuleResult Fullname="Portal">
<Results>
<Result>
<Guid>
Som standard vil du få XML-data tilbage. Hvis du foretrækker JSON, kan
du tilføje GET-parametren "format=json" til URL'en:
http://api.larm.fm/v6/Session/Create?format=json
Link
2. Søg efter programoversigter
Du kan søge efter programoversigter på følgende URL:
http://api.larm.fm/v6/View/Get?
view=Search
&sort=PubStartDate%2Bdesc
&filter=%28Type%3ASchedule%20OR%20Type%3AScheduleNote%29
&pageIndex=0
&pageSize=20
&sessionGUID=049da351-b81f-424e-82c4-1162926d3688
&format=xml2
&userHTTPStatusCodes=False
Link
Her søges der efter alle programoversigter mellem 1. og 30. maj 1982.
http://api.larm.fm/v6/View/Get?
view=Search
&sort=PubStartDate%2Bdesc
&filter=%28
PubStartDate:[1982-05-01T00:00:00Z%20TO%201982-05-30T00:00:00Z]%20
AND%20
%28Type%3ASchedule%20OR%20Type%3AScheduleNote%29%29
&pageIndex=0
&pageSize=20
&sessionGUID=049da351-b81f-424e-82c4-1162926d3688
&format=xml2
&userHTTPStatusCodes=False
Link
Her kan det ses fra TotalCount
elementet i resultatet, at
der er i alt 76 poster, og fra Count
kan det ses at 20 af
disse blev returneret. Dette sker fordi "pageSize" parametren er sat til
20, så der maksimalt bliver returneret 20 resultater per side.
Dvs. der vil være i alt 4 sider for dette resultat, og side 3 af 4
kan fremskaffes ved at sætte pageIndex
til 2, da
indekseringen starter på 0.
3. Skaf en enkelt programoversigt
Når du har fundet den programoversigt du ønsker, kan du fremskaffe den
indskannede PDF og den tilhørende tekst fra OCR-behandlingen ved
følgende kald:
http://api.larm.fm/v6/View/Get?
view=Object
&query=5cc96f84-91f9-f943-b803-7428f5833937
&pageIndex=0
&pageSize=20
&sessionGUID=049da351-b81f-424e-82c4-1162926d3688
&format=xml2
&userHTTPStatusCodes=False
Link
Her kan det ses fra TotalCount
elementen i resultatet, at
der er i alt 76 poster, og fra Count
kan det ses at 20 af
disse blev returneret. Dette sker fordi "pageSize" parametren er sat til
20, så der maksimalt bliver returneret 20 resultater per side.
CHAOS Javascript bibliotek
tilbage til oversigt ▲
1. Skaf biblioteket og opret en session
Download Javascript CHAOS.Portal klienten.
Biblioteket består af en enkelt .js-fil som kan findes i
src
mappen i
projektets Github repository.
Set the servicePath
to http://api.larm.fm/
// Setup settings
var ChaosSettings = {
"clientGUID":"9f62060c-64ff-e14f-a8d5-d85a1e2e21b8",
"accessPointGUID":"7A06C4FF-D15A-48D9-A908-088F9796AF28",
};
// Instantiate client
var client = new PortalClient(
ChaosSettings.servicePath,
ChaosSettings.clientGUID
);
En session er nu oprettet. Du skal bruge sessionens ID
(sessionGUID
), der er gemt følgende sted i dataen:
PortalResult > ModuleResults > ModuleResult[Fullname=Portal] > Results >
Result > Guid
Som standard vil du få XML-data tilbage. Hvis du foretrækker JSON, kan
du tilføje GET-parametren "format=json" til URL'en:
http://api.larm.fm/v6/Session/Create?format=json
Link
2. Søg efter programoversigter
Du kan søge efter programoversigter på følgende URL:
http://api.larm.fm/v6/View/Get?
view=Search
&sort=PubStartDate%2Bdesc
&filter=%28Type%3ASchedule%20OR%20Type%3AScheduleNote%29
&pageIndex=0
&pageSize=20
&sessionGUID=049da351-b81f-424e-82c4-1162926d3688
&format=xml2
&userHTTPStatusCodes=False
Link
Her søges der efter alle programoversigter mellem 1. og 30. maj 1982.
http://api.larm.fm/v6/View/Get?
view=Search
&sort=PubStartDate%2Bdesc
&filter=%28
PubStartDate:[1982-05-01T00:00:00Z%20TO%201982-05-30T00:00:00Z]%20
AND%20
%28Type%3ASchedule%20OR%20Type%3AScheduleNote%29%29
&pageIndex=0
&pageSize=20
&sessionGUID=049da351-b81f-424e-82c4-1162926d3688
&format=xml2
&userHTTPStatusCodes=False
Link
Her kan det ses fra TotalCount
elementen i resultatet, at
der er i alt 76 poster, og fra Count
kan det ses at 20 af
disse blev returneret. Dette sker fordi "pageSize" parametren er sat til
20, så der maksimalt bliver returneret 20 resultater per side.
3. Skaf en enkelt programoversigt
Når du har fundet den programoversigt du ønsker, kan du fremskaffe den
indskannede PDF og den tilhørende tekst fra OCR-behandlingen ved
følgende kald:
http://api.larm.fm/v6/View/Get?
view=Object
&query=5cc96f84-91f9-f943-b803-7428f5833937
&pageIndex=0
&pageSize=20
&sessionGUID=049da351-b81f-424e-82c4-1162926d3688
&format=xml2
&userHTTPStatusCodes=False
Link
Her kan det ses fra TotalCount
elementen i resultatet, at
der er i alt 76 poster, og fra Count
kan det ses at 20 af
disse blev returneret. Dette sker fordi "pageSize" parametren er sat til
20, så der maksimalt bliver returneret 20 resultater per side.
CHAOS PHP bibliotek
tilbage til oversigt ▲
1. Skaf biblioteket og opret en session
Download Javascript CHAOS.Portal klienten.
Biblioteket består af en enkelt .js-fil som kan findes i
src
mappen i
projektets Github repository.
Set the servicePath
to http://api.larm.fm/
// Setup settings
var ChaosSettings = {
"clientGUID":"9f62060c-64ff-e14f-a8d5-d85a1e2e21b8",
"accessPointGUID":"7A06C4FF-D15A-48D9-A908-088F9796AF28",
};
// Instantiate client
var client = new PortalClient(
ChaosSettings.servicePath,
ChaosSettings.clientGUID
);
En session er nu oprettet. Du skal bruge sessionens ID
(sessionGUID
), der er gemt følgende sted i dataen:
PortalResult > ModuleResults > ModuleResult[Fullname=Portal] > Results >
Result > Guid
Som standard vil du få XML-data tilbage. Hvis du foretrækker JSON, kan
du tilføje GET-parametren "format=json" til URL'en:
http://api.larm.fm/v6/Session/Create?format=json
Link
2. Søg efter programoversigter
Du kan søge efter programoversigter på følgende URL:
http://api.larm.fm/v6/View/Get?
view=Search
&sort=PubStartDate%2Bdesc
&filter=%28Type%3ASchedule%20OR%20Type%3AScheduleNote%29
&pageIndex=0
&pageSize=20
&sessionGUID=049da351-b81f-424e-82c4-1162926d3688
&format=xml2
&userHTTPStatusCodes=False
Link
Her søges der efter alle programoversigter mellem 1. og 30. maj 1982.
http://api.larm.fm/v6/View/Get?
view=Search
&sort=PubStartDate%2Bdesc
&filter=%28
PubStartDate:[1982-05-01T00:00:00Z%20TO%201982-05-30T00:00:00Z]%20
AND%20
%28Type%3ASchedule%20OR%20Type%3AScheduleNote%29%29
&pageIndex=0
&pageSize=20
&sessionGUID=049da351-b81f-424e-82c4-1162926d3688
&format=xml2
&userHTTPStatusCodes=False
Link
Her kan det ses fra TotalCount
elementen i resultatet, at
der er i alt 76 poster, og fra Count
kan det ses at 20 af
disse blev returneret. Dette sker fordi "pageSize" parametren er sat til
20, så der maksimalt bliver returneret 20 resultater per side.
3. Skaf en enkelt programoversigt
Når du har fundet den programoversigt du ønsker, kan du fremskaffe den
indskannede PDF og den tilhørende tekst fra OCR-behandlingen ved
følgende kald:
http://api.larm.fm/v6/View/Get?
view=Object
&query=5cc96f84-91f9-f943-b803-7428f5833937
&pageIndex=0
&pageSize=20
&sessionGUID=049da351-b81f-424e-82c4-1162926d3688
&format=xml2
&userHTTPStatusCodes=False
Link
Her kan det ses fra TotalCount
elementen i resultatet, at
der er i alt 76 poster, og fra Count
kan det ses at 20 af
disse blev returneret. Dette sker fordi "pageSize" parametren er sat til
20, så der maksimalt bliver returneret 20 resultater per side.