我正在构建一个使用Google Books API的本地应用。 API提供了称为“ ACSTokenLink”的属性,该属性下载.acsm
文件而不是.epub
。一个简单的Google搜索告诉我,此.acsm
文件用于内容保护,只能在Adobe Digital Editions中打开。
Google完全放弃了,没有在其API合同中提及任何此类问题:
https://developers.google.com/books/docs/v1/using
Google API论坛是个鬼城,所以我在这里要求尝试了解有关这些文件及其使用的更多信息。
因此,如果我正在开发本机电子阅读器,是否完全禁止使用此类文件?
查看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。