是否有任何适用于软件中心的 Web API?

zub*_*out 12 software-center application-development

我想知道是否有一个 API 可用于在我的网页上使用来自 Ubuntu 软件中心的内容。我知道Ubuntu 应用程序目录网站包含一个几乎完整的 Ubuntu 应用程序数据库。有所有类别,它包含评级、图像、描述以及下载按钮。那么,是否可以在其他地方使用此页面上可用的某些内容?

Jje*_*jed 12

嗯,是。请记住

  1. 该 API 唯一公认的消费者是软件中心项目。语法在未来可能而且很可能会被恶意弃用,而不考虑第三方。
  2. 未来,软件中心可能会复用来自其他源 API 的应用程序,例如Mozilla MarketplaceAppstream 的应用程序。因此,此 API 可能并不全面。
  3. 如果您滥用此 API,您将被阻止

抛开所有这些警告

应用

https://software-center.ubuntu.com/api/2.0/applications/$LANG/ubuntu/$SERIES/$ARCH/
Run Code Online (Sandbox Code Playgroud)

将返回一个 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/
Run Code Online (Sandbox Code Playgroud)

会给你一个包裹的评论。请注意,此处的大多数字段都可以替换为any。例如,以下是为 11.10 撰写的华沙评论

评分

http://reviews.ubuntu.com/reviews/api/1.0/review-stats/ubuntu/$SERIES/
Run Code Online (Sandbox Code Playgroud)

将为您提供所有套餐的所有评级。

图片

http://screenshots.ubuntu.com/thumbnail-with-version/$PACKAGE/$VERSION
http://screenshots.ubuntu.com/screenshot-with-version/$PACKAGE/$VERSION
Run Code Online (Sandbox Code Playgroud)

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

其他次要元数据

/usr/share/software-center/softwarecenter/distro/Ubuntu.py
/usr/share/software-center/softwarecenter/backend/piston/
Run Code Online (Sandbox Code Playgroud)

如需更多 API 乐趣,请在文件浏览器中访问这些路径。这一切都在非常易读的 Python 中。您可能感兴趣的分页、过滤、许可文本、评论统计等方面有很多杂项: