【问题标题】:REST API for Joomla 3.0 [closed]Joomla 3.0 的 REST API [关闭]
【发布时间】:2014-10-13 13:15:24
【问题描述】:

我目前使用的是Joomla 3.3.6,需要找一个REST API来访问内容信息、用户信息等。我已经尝试使用以下由TechJoomla开发的REST API,但无法找到有关示例请求、身份验证过程等的适当文档。

https://techjoomla.com/rest-api-for-joomla

我还考虑了 jbackend REST API,它是作为 joomla 的扩展开发的,它似乎是一个付费扩展。

经过大量谷歌搜索后,我仍在努力寻找 REST API 来访问 Joomla 内容。请帮我解决这个问题。

提前谢谢你。

【问题讨论】:

  • 您需要从这个 REST API 中得到什么?您要更新、删除还是只查看?您究竟需要什么内容(文章、用户)?
  • 我需要从 Joomla 中检索内容(文章)。
  • 这个问题是关于Joomla的具体实现细节,如果你有可能会得到更好的结果,试试the Joomla Q&A StackExhange site
  • 为什么不直接使用内置的 rss 提要?
  • 是的,内置的 RSS 提要可以工作,如果您使用简单的 XML,它会非常……简单地让某件事情工作。这是一个教程。 developphp.com/video/PHP/…

标签: api rest joomla


【解决方案1】:

我也遇到了同样的问题,这就是为什么我最终为 Joomla 3.4.x 开发了一个由 Slim PHP 微框架提供支持的 RESTful API。请注意,这是一个商业 Joomla 软件包。

该软件包包括以下内容:

  • 服务控制面板组件
  • Joomla“服务”附加库,其中包括一个 Slim v2.6.2 版本(以及其他几个库),通过 composer 获得,通常在供应商文件夹中找到。稍后会详细介绍...
  • 服务 Joomla 插件
  • 服务 REST 插件
  • Services Slim 配置插件
  • Slim JSON API 视图插件
  • Slim JSON API 中间件插件

您可能会问,“所有这些插件的意义何在?”

答案是它允许划分核心组件的功能,并为易于扩展的服务路由架构打开了大门。请注意,可以使用 Joomla ACL 轻松添加新插件,例如限制对这些新路由的访问。

服务控制面板允许在每个用户的基础上创建令牌(甚至每个 Joomla 用户多个令牌)。它还允许最终用户配置 Slim 微框架参数,甚至包括 API 速率限制功能的阈值(当前基于每分钟请求数)。实际上,这部分非常棒,因为它在响应标头中提供了有关 API 速率阈值状态的实时反馈。

cAPI 核心包(“cAPI”,“Constant API”的缩写,因为一切都需要产品名称...)就是这样 - core 包。目前有许多插件正在开发中,第一个是安全的 LDAP JSON API(它连接到 Microsoft Active Directory),还有更多很酷的插件即将推出。

所有这一切的全部意义在于,基本上,您的请求已得到答复,现在终于出现了商业支持的解决方案。此外,我没有重新发明轮子,而是将扩展基于流行的现有微框架 (Slim),让开发人员更容易使用或在核心、可插拔框架上进行开发。

因此,您可以将 Joomla(强大的 ACL、高级插件架构、丰富的扩展)和 Sim(经过验证、符合标准、成熟的 RESTful PHP 微框架)的精华集于一个易于安装的软件包中。

通过易于查询的 API 公开网站不应掉以轻心。我希望任何选择这样做的人都能实现 100% 的 HTTPS 访问并加强其服务器的安全性。

您可以在这里找到更多信息:http://getcapi.org

希望这能让你朝着正确的方向前进。

还有一件事:

我再次阅读了您的问题并阅读了关于您需要访问用户和内容的部分。这些实际上是我工作的第一个服务端点:

/api/v1/user/ - 可用于登录和注销用户并在响应中返回激活的 Joomla 会话 - 这还提供了多模式身份验证(通过标头中的令牌或 URL 字符串中的用户名和密码)。基本上,它可以满足您的需求。 - 你像这样强制用户注销: /api/v1/user/logout/用户名/joomlasessionid

基本上,这是为驱动远程服务或 iOS 或 Android 应用量身定制的。

(GET,POST,PUT,DELETE) /api/v1/content/...

- 提供创建、检索、更新和删除内容的能力

(GET,POST,PUT,DELETE) /api/v1/category/...

- 提供创建、检索、更新和删除类​​别的能力

另外, /api/v1/user/login/(用户名)/(密码)

/api/v1/user/logout/(username)/(joomlasessionid)

/api/v1/user/profile

/api/slim/routes

and more...

可在此处找到有关可用方法的其他信息:

http://learn.getcapi.org/api-methods

不用说,所有 cAPI Core 软件包的改进都包含在年度订阅费中。附加组件(将)单独计费和支持。现在列在 Joomla 扩展目录 (JED) https://extensions.joomla.org/extensions/extension/capi-core-rest-api

2016 年 3 月 28 日更新

从 cAPI v1.2.1 开始,添加了新方法以允许对 Joomla 用户和组管理进行 CRUD。此外,我正在http://getcapi.io 开发一个沙盒集群,以允许潜在客户在订阅之前全面测试 API 功能。

2016 年 9 月 18 日更新

从 cAPI v1.2.5 开始,添加了新方法以允许对 API 令牌执行 CRUD 操作。 API 也更新了文档块,可以自动生成 Swagger.json。 cAPI 包括用于访问由 Swagger UI 生成的完整 API 文档的后端和前端视图。

最后,https://getcapi.io 以及 demo1.getcapi.io 和 demo2.getcapi.io 现已上线,并允许访问者测试 API 文档。很快,它们将被配置为自动重置,以便将帐户分发给客户,以便他们可以自行全面测试 API。

【讨论】:

    【解决方案2】:

    【讨论】:

      【解决方案3】:
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-02
      • 2021-06-24
      • 1970-01-01
      • 2011-10-11
      相关资源
      最近更新 更多