有没有可用的软件中心Web API?

我想知道是否有一个API可以在我的网页上使用Ubuntu软件中心的内容。我知道Ubuntu应用程序目录网站包含了几乎完整的Ubuntu应用程序数据库。它包含了所有的分类,评级,图片,描述以及下载按钮。 所以,是否可能在其他地方使用这个页面上的一些内容呢?

请参见 http://askubuntu.com/questions/139032/how-to-programmatically-fetch-a-list-of-applications-from-the-software-center 的本地API。 - David Planella
1个回答

嗯,是的。请记住:
1. 这个API的唯一承认的使用者是软件中心项目。语法可能会在未来被彻底弃用,对第三方没有任何考虑。
2. 在将来,软件中心可能会从其他源API(如Mozilla MarketplaceAppstream)多路复用应用程序。因此,这个API可能不是全面的。
3. 如果你滥用这个API,你将被封禁

除了这些注意事项之外

应用程序

https://software-center.ubuntu.com/api/2.0/applications/$LANG/ubuntu/$SERIES/$ARCH/

将返回一个JSON文档,详细说明给定语言代码、发布名称前缀和架构下当前可安装的第三方应用程序。例如,这里是目前为Ubuntu 12.04提供的软件中心项目

由于技术原因,从Ubuntu存档(如宇宙)中可用的应用程序由数据包app-install-data处理。您可以使用apt-get source -t $SERIES app-install-data获取列表,并在本地服务器上进行处理;它不经常更改。

评论

http://reviews.ubuntu.com/reviews/api/1.0/reviews/filter/$LANG/ubuntu/$SERIES/$VERSION/$PACKAGE/

将为您获取一个包的评论。请注意,这里的大多数字段都可以替换为任何。例如,这里是11.10写的关于华沙的评论

评级

http://reviews.ubuntu.com/reviews/api/1.0/review-stats/ubuntu/$SERIES/

会为您获取所有包裹的评级。

图片

http://screenshots.ubuntu.com/thumbnail-with-version/$PACKAGE/$VERSION
http://screenshots.ubuntu.com/screenshot-with-version/$PACKAGE/$VERSION

会为您获取应用程序的缩略图和屏幕截图。例如,这里是VLC的最新屏幕截图

其他次要元数据

/usr/share/software-center/softwarecenter/distro/Ubuntu.py
/usr/share/software-center/softwarecenter/backend/piston/

要获得更多有趣的API内容,请在文件浏览器中访问以下路径。所有内容都是用易读的Python编写的。这里有很多关于分页、过滤、许可文本、评论统计等方面的杂项内容,可能会对您感兴趣:

问题..这不会返回所有应用程序或http://askubuntu.com/questions/244186/how-to-get-all-apps-from-ubuntu-software-center - Voidcode
没有办法以聪明的方式获取应用程序评论:http://askubuntu.com/questions/236501/why-cant-i-get-all-reviews-for-this-app-in-the-ubuntu-software-center-using-the - Voidcode
如何只获取分类? - Ionică Bizău