...
Get personal bookshelf for DDS user in OPDS XML format.
URL |
Method | GET | ||
Request headers | Authorization | Required | The token acquired from the Authentication Service. Formated "Boknett TGT-...." |
Date | Required | The timestamp the request was made. Must comply with RFC 1123 date formats. Example: Tue, 10 Jun 2014 16:23:42 GMT | |
If-Modified-Since | Optional | Used for client caching of feed. See chapter on performance considerations below. See RFC for details. | |
Response body on success | XML OPDS feed (See below) or empty body if using "If-Modified-Since" and response is 304. | ||
Response headers | Last-Modified | Date header showing last time this user's OPDS feed was updated (see RFC for details). Use this date in "If-Modified-Since" when doing your subsequent request. | |
Returns | 200 | OK | |
304 | Not modified | ||
40x | On error |
Performance considerations
From a computation perspective this is the heaviest API endpoint in DDS and that combined with that the data in each users bookshelf have a low update frequencyAs these data for many users do not change very often, this is a strong candidate for client caching. The API provides specific functionality for this, and we highly recommend you to implement caching of the feeds on the client side to improve consumers user experience.
...
- Last-Modified response header: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.29
- If-Modified-Since header: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.25
...
Note: When using the If-Modified-Since header it is recommended that you use a date retrieved from the Last-Modified header of a previous request to the same service. The reason for this is that the service expects that the parsed date retrieved from the If-Modified-Since-header is an exact match (with millisecond precision) to the date used in the Last-Modified header. The service still respect and parses all the date-formats mentioned in http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1.
...
Code Block | ||
---|---|---|
| ||
<entry> <title>Anna Karenina</title> <!-- Title of the book --> <link rel="http://opds-spec.org/image/thumbnail" type="image/jpeg" href="https://media.boknett.no/objects/07/34/50113407/appcover_OB_affaecfac708e5380b0cd279c2abc3f0bb8b9f79.jpg"/> <!-- Link to cover image --> <link rel="http://opds-spec.org/acquisition/open-access" type="application/json" href="https://api.dds.boknett.no/content/4c97596d-d03b-4b79-b133-cbaea8a00c1b"> <opds:indirectAcquisition type="application/epub+zip"/> </link> <!-- Link to GET content API for downloading book, opds:indirectAcquisition type has the mime type of the download --> <author> <name>Tolstoj, Leo</name> </author> <id>37866ca4-2614-4ec1-9d73-c14d6cbfc12b</id> <!-- Resource-id of the book, note that resource ids change if new version is published --> <created>2015-08-17T13:41:46.000Z</created> <updated>2015-02-11T12:36:52.000Z</updated> <dc:identifier xsi:type="dcterms:URI">urn:uuid:37866ca4-2614-4ec1-9d73-c14d6cbfc12b</dc:identifier> <!-- Resource-id in DC, same as above --> <dc:identifier xsi:type="dcterms:URI">urn:isbn:9788201000654</dc:identifier> <dc:publisher>Testforlaget</dc:publisher> <dc:issued>2010</dc:issued> <dc:language>bm</dc:language> </entry> |
...
Example 2 - Excerpt of EPUB ebook
Code Block | ||
---|---|---|
| ||
<entry> <title>Blod på snø</title> <link rel="http://opds-spec.org/image/thumbnail" type="image/jpeg" href="https://media.boknett.no/objects/40/95/150169540/appcover_OB_a0978d82ad8e88d5158305b9ac99bdf885f2e3cb.jpg" /> <!-- This is deprecated and should not be used for excerpts, just kept for backward compatibility for now. Excerpts should only have rel="http://opds-spec.org/acquisition/sample" --> <link rel="http://opds-spec.org/acquisition/open-access" type="application/json" href="https://api.dds.boknett.no/content/5c736f58-9e18-45df-bb0a-00b5c4cc16d7"> <opds:indirectAcquisition type="application/epub+zip" /> </link> <!-- Below you can see that this is a sample based on the rel="" attribute --> <link rel="http://opds-spec.org/acquisition/sample" type="application/json" href="https://api.dds.boknett.no/content/5c7f6f58-9e18-45df-bb0a-00b5c4cc16d7"> <opds:indirectAcquisition type="application/epub+zip" /> </link> <author> <name>Nesbø, Jo</name> </author> <id>1759c8af-6f3c-4177-b5ba-d42ebc21103f</id> <created>2015-04-30T19:21:17.000Z</created> <updated>2015-03-03T23:00:03.000Z</updated> <dc:identifier xsi:type="dcterms:URI">urn:uuid:1759c8af-6f3c-4177-b5ba-d42ebc21103f</dc:identifier> <dc:identifier xsi:type="dcterms:URI">urn:isbn:9788203359149</dc:identifier> <dc:publisher>Aschehoug</dc:publisher> <dc:issued>2015</dc:issued> <dc:language>bm</dc:language> </entry> |
...
Example 3 - Audio ebook
Code Block | ||
---|---|---|
| ||
<entry> <title>Bonden</title> <link rel="http://opds-spec.org/image/thumbnail" type="image/jpeg" href="https://media.boknett.no/objects/32/29/150172932/appcover_OB_5004367eee3beeec88786346248ff7bb1153aca5.jpg"/> <link rel="http://opds-spec.org/acquisition/open-access" type="application/json" href="https://api.dds.boknett.no/content/21ae3d4f-3d54-47af-b9f1-c77b9ad00dae"> <opds:indirectAcquisition type="application/zip" opds:bitrate="128"/> <opds:indirectAcquisition type="application/zip" opds:bitrate="48"/> <opds:indirectAcquisition type="audio/mpeg" opds:bitrate="48"/> <opds:indirectAcquisition type="application/vnd.apple.mpegurl" opds:bitrate="48"/> <opds:indirectAcquisition type="audio/mpeg" opds:bitrate="128"/> </link> <!-- Link to GET content API for downloading book, use type and bitrate values with GET content to download the desired format --> <author> <name>Aukrust, Kjell</name> </author> <id>3d047cbf-9e01-46ec-a32b-70e29aca3365</id> <created>2015-10-01T08:11:06.000Z</created> <updated>2015-08-19T07:05:44.000Z</updated> <dc:identifier xsi:type="dcterms:URI">urn:uuid:3d047cbf-9e01-46ec-a32b-70e29aca3365</dc:identifier> <dc:identifier xsi:type="dcterms:URI">urn:isbn:9780307268129</dc:identifier> <dc:publisher>Testforlaget</dc:publisher> <dc:issued>2015</dc:issued> <dc:language>bm</dc:language> </entry> |
...