我想知道是否有 API 可用于在我的网页上使用 Ubuntu 软件中心的内容。我知道Ubuntu 应用程序目录网站包含几乎完整的 Ubuntu 应用程序数据库。它包含所有类别、评级、图像、描述以及下载按钮。那么,是否可以在其他地方使用此页面上提供的一些内容?
答案1
是的。请记住
- 此 API 的唯一公认使用者是软件中心项目。此语法将来可能会被彻底弃用,而不考虑第三方。
- 将来,软件中心可能会复用来自其他源 API 的应用程序,例如Mozilla 市场和应用流. 因此该 API 可能并不全面。
- 如果你滥用此 API你将被封锁。
除了上述警告之外
应用
https://software-center.ubuntu.com/api/2.0/applications/$LANG/ubuntu/$SERIES/$ARCH/
将返回一个 JSON 文档,详细说明第三方应用程序当前可针对给定的语言代码、版本名称前缀和体系结构进行安装。例如,以下是当前为 Ubuntu 12.04 提供的软件中心项目。
由于技术原因(从本质上讲很难解释),Ubuntu 档案库中提供的应用程序(例如 Universe)由数据包处理: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/
将为您提供某个软件包的评论。请注意,此处的大多数字段都可以替换为any
。例如,以下是 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 编写。您可能对诸如分页、过滤、许可文本、评论统计等内容有很多兴趣: