亚马逊通过API购买Kindle图书

9

有没有一种方式可以通过编程获取用户购买的kindle电子书列表?

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


主题获取Kindle图书馆书籍列表为那些想要下载自己的书籍列表,包括代码片段或链接的人提供了有用的信息。我刚刚发布了可工作的C#代码。 - DarthGizka
3个回答

6
是的,有这种方法。由于Kindle管理网页庞大而且极其缓慢,我花了几个小时寻找一种创建自己网页的方法。目前为止,只有一个列出和删除标题(书籍和个人文档)的函数库,但您可以在其上进行有用的操作。您可以在此处找到Python版本以及此处JS版本

这是一款反向工程的alpha级软件,就在我写这篇文章的时候才刚刚诞生,但如果您需要它,那么您可以使用它。

请注意:对于第三方来说,它不适合使用,因为您需要用户的电子邮件和密码。要在Amazon端获得通用、安全的第三方访问权限,您需要支持OAuth。


内部使用了一种新的、更好的API,支持批量删除。建议您查看该链接: https://github.com/fatso83/amazon_fiona_js/blob/master/TODO.md#new-api - oligofren
还建议尝试使用这个链接: https://gist.github.com/jkubecki/d61d3e953ed5c8379075b5ddd8a95f22 - oligofren

3

不,用户的购买历史无法向外部提供。反过来想一下,您希望亚马逊向第三方提供您可能购买的所有东西吗?我知道我不会,我认为大多数顾客也不会。因此,这样的API可能永远都不会存在。

您最好的选择是找出设备上下载的文件,并以某种方式推断出标题。使用这种方法,您需要基于文件名进行ANR(模糊名称解析),如果失败,则需要找到一种方法来破解文件,绕过DRM加密并读取元数据。


9
如果亚马逊使用OAuth2,它可以让用户决定是否授权第三方程序访问他的私人信息。这有一些有用的用例:比如我为自己开发了一个程序,因此我想授权该程序访问我的信息。如果某个程序承诺不与他人分享我的信息,并且非常有用,我也可能会授权它访问我的隐私等等。我不知道为什么亚马逊不这样做。 - Tyler Liu
1
第三方?不需要。自己?当然可以!特别是,我非常想“归档”我已经阅读过的书名 - 现在我在Kindle收藏中有287本书,如果没有这个功能,它几乎无法使用。如果我能够将我的书籍集合分成“已读”、“未读”和“正在阅读”,那么它将提供更好的用户体验...到目前为止,看起来我实现这一点的最佳方法要么是在Web阅读器内部探索,要么是下载所有287本书到我的Mac并解析.apnx文件。当然,我更喜欢一个适当的API! - James Sutherland

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

(希望他们将来不会加密它...)


文件现在似乎也包含了购买日期! - janpio

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接