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

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.