【问题标题】:How do I use an ACS Token?如何使用 ACS 令牌?
【发布时间】:2019-11-03 21:20:50
【问题描述】:

我正在构建一个使用 Google Books API 的 react-native 应用。 API 提供了一个名为“ACSTokenLink”的属性,它下载.acsm 文件,而不是.epub。一个简单的谷歌搜索告诉我这个.acsm 文件是用于内容保护的,只能用Adobe Digital Editions 打开。

Google 完全放弃了,在他们的 API 合同中没有提及任何内容:

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

Google API 论坛是一座鬼城,所以我在这里询问是为了了解有关这些文件及其用途的更多信息。

那么,如果我正在开发一个 react-native 电子阅读器,我是否完全不能使用这样的文件?

【问题讨论】:

    标签: react-native epub google-books


    【解决方案1】:

    查看来自Google Books APIaccessInfo 切片样本:

    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

    【讨论】:

    • 感谢您的回复。正如我在帖子中提到的,该链接下载了一个 .acsm 文件,该文件不是 epub,而是 adobe 文件。对我来说不幸的是,它用于保护受版权保护的信息,并且只能由认可的软件阅读:/
    猜你喜欢
    • 2017-04-17
    • 1970-01-01
    • 2012-04-06
    • 2012-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-20
    • 2013-01-25
    相关资源
    最近更新 更多