我如何使用ACS令牌?

问题描述 投票:0回答:1

我正在构建一个使用Google Books API的本地应用。 API提供了称为“ ACSTokenLink”的属性,该属性下载.acsm文件而不是.epub。一个简单的Google搜索告诉我,此.acsm文件用于内容保护,只能在Adobe Digital Editions中打开。

Google完全放弃了,没有在其API合同中提及任何此类问题:

https://developers.google.com/books/docs/v1/using

Google API论坛是个鬼城,所以我在这里要求尝试了解有关这些文件及其使用的更多信息。

因此,如果我正在开发本机电子阅读器,是否完全禁止使用此类文件?

react-native epub google-books
1个回答
0
投票

查看accessInfo中的Google Books API切片样本:

accessInfo部分对于确定可用于电子书的功能特别有用。

"accessInfo": {
  "country": "US",
  "viewability": "PARTIAL",
  "embeddable": true,
  "publicDomain": false,
  "textToSpeechPermission": "ALLOWED_FOR_ACCESSIBILITY",
  "epub": {
   "isAvailable": true,
   "acsTokenLink": "https://books.google.com/books/download/The_Google_story-sample-epub.acsm?id=zyTCAlFPjgYC&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api"
  },
  "pdf": {
   "isAvailable": false
  },
  "accessViewStatus": "SAMPLE"
 }

epub部分将具有isAvailable属性,指示是否可以使用这种类型的电子书。

我们可以将acsTokenLink用作“下载epub链接”,并可以设置我们的条件:

if( book.accessInfo.epub.isAvailable ) {
 axios.get(acsTokenLink).then( responseData => /* store epub in app storage here */ )
}

进一步:我发现Epub.js是使用React Native显示epub文件的一种解决方案。此外,这是example repo

© www.soinside.com 2019 - 2024. All rights reserved.