亚马逊从 API 购买 Kindle 书籍

Posted

技术标签:

【中文标题】亚马逊从 API 购买 Kindle 书籍【英文标题】:Amazon Purchased Kindle books from API 【发布时间】:2012-09-12 06:21:26 【问题描述】:

有没有办法以编程方式检索用户购买的 Kindle 电子书列表?

我已经在 SO 上广泛搜索了答案,但是我能找到的几个相关问题是古老的。亚马逊文档也不是很有帮助,因为据我所知,亚马逊联合计划 API 只允许您对亚马逊的产品数据库进行查找,它不允许您检索登录用户的信息。

【问题讨论】:

主题Get Kindle Library Book List 为想要下载自己的书籍列表的人提供了有用的信息,包括代码sn-ps 或链接。几分钟前我发布了工作 C# 代码。 【参考方案1】:

是的,有。由于 Kindle 的管理网页臃肿且极其缓慢,我花了几个小时来寻找一种创建自己的方法。到目前为止,只有一个用于列出和删除标题(书籍和个人文档)的函数库,但您可以在它之上制作有用的东西。 You can find a Python version here 和 JS version here。

这是一个 alpha 质量的逆向工程软件,在我写这篇文章的时候确实有几分钟的历史,但如果它让你痒痒的话......

注意:它不适合第三方,因为您需要用户的电子邮件和密码。对于该信息的一般、安全的第三方访问,您需要亚马逊方面的 OAuth 支持。

【讨论】:

内部使用了一个新的更好的 API,它支持批量删除。可能想看看:github.com/fatso83/amazon_fiona_js/blob/master/TODO.md#new-api 也推荐试试这个:gist.github.com/jkubecki/d61d3e953ed5c8379075b5ddd8a95f22【参考方案2】:

没有。用户购买历史不对外提供。反过来想一想,您是否希望亚马逊将您购买的所有商品都提供给第三方?我知道我不会,而且我怀疑大多数客户也不会。因此,这种 API 不太可能存在。

最好的办法是找出设备上下载了哪些文件并以某种方式推断标题。使用该路径时,您需要根据文件名执行 ANR(歧义名称解析),如果失败,则需要找到一种方法来破解打开文件、绕过 DRM 加密并读取元数据。

【讨论】:

如果亚马逊使用OAuth2,它可以让用户决定是否授权第三方程序访问他的私人信息。有一些有用的用例:我为自己开发了一个程序,所以我确实想授权该程序访问我的信息。如果一个程序承诺它不会将我的信息分享给任何其他人并且它非常有用,我也可以授权它来保护我的隐私......等等。我不知道亚马逊为什么不这样做。 第三方?不,我自己?是的当然!特别是,我非常想“存档”我已经阅读过的书名——现在我的 Kindle 收藏中有 287 本书,如果没有这个功能,它几乎无法使用。如果我可以简单地将我的书集细分为“已读”、“未读”和“当前正在阅读”,它将提供非常非常好的用户体验......到目前为止,看起来我实现这一目标的最佳方式是通过浏览网络阅读器的内部结构,或者将所有 287 个文件下载到我的 Mac 并解析 .apnx 文件。当然我更喜欢合适的 API!【参考方案3】:

这不如网络服务好,但是,如果您是用户(即,您正在尝试获取您拥有的标题列表):如果您安装 Kindle for PC,那么您可以让它同步,然后查看%LOCALAPPDATA%\Amazon\Kindle\Cache\KindleSyncMetadataCache.xml。它包含 ASIN 和其他一些字段(标题、作者)(没有购买日期)。似乎只包含书籍,但这可能只是因为我没有将文档发送到我的 Kindle for PC。

(我希望他们以后不要加密它......)

【讨论】:

该文件现在似乎还包含购买日期!

以上是关于亚马逊从 API 购买 Kindle 书籍的主要内容,如果未能解决你的问题,请参考以下文章

如何去除 Kindle 电子书的 DRM 保护

亚马逊 Kindle API

如何去除亚马逊电子书的DRM

对于Kindle的分析

电子设备 Kindle如何删除书籍或漫画

亚马逊商城书城如何购买电子书