问题 Joomla 3.0的REST API


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

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

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

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

先谢谢你。


11159
2017-10-13 13:15


起源

这个REST API需要什么?您想要更新,删除还是仅查看?你需要什么内容(文章,用户)? - tomjm
我需要从Joomla中检索内容(文章)。 - user3793310
这个问题是关于Joomla的具体实现细节,如果你有可能获得更好的结果,请尝试询问 Joomla Q&A StackExhange网站 - Craig
为什么不使用内置的rss feed? - tomjm
是的,内置的RSS提要工作,如果你使用简单的XML,它很简单...使一个东西工作简单。这是一个教程。 developphp.com/video/PHP/... - Eoin


答案:


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

该套餐包括以下内容:

  • 服务控制面板组件
  • Joomla“服务”附加库,包括一个版本的Slim v2.6.2(以及其他几个库)通过composer获取,通常在vendor文件夹中找到。稍后会详细说明......
  • 服务Joomla插件
  • 服务REST插件
  • 服务超薄配置插件
  • Slim JSON API View插件
  • Slim JSON API中间件插件

你可能会问,“所有这些插件有什么意义?”

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

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

cAPI核心软件包(“cAPI”,“Constant API”的缩写,因为一切都需要产品名称......)就是这样 - 核心 包。目前正在开发一系列附加组件,第一个是安全的LDAP JSON API(连接到Microsoft Active Directory),还有更多很酷的附加组件。

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

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

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

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

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

还有一件事:

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

/ API / V1 /用户/ - 可用于登录和注销用户,并在响应中返回激活的Joomla会话 - 这还提供多模式身份验证(通过标头中的标记或URL字符串中的用户名和密码)。基本上,它符合您的需求。 - 您强制用户注销如下: / API / V1 /用户/注销/用户名/ joomlasessionid

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

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

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

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

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

也,     / API / V1 /用户/登录/(用户名)/(密码)

/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-03-28

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

更新2016-09-18

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

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


7
2017-09-22 00:07





您可能会觉得这很有帮助 为Joomla创建您的第一个RESTful Web服务! 3与Lumen - 介绍


3
2018-04-18 14:53





我会推荐jBackend。

更多细节将在下面讨论 https://joomla.stackexchange.com/questions/10306/creating-an-api-for-a-joomla-extension/10307#10307


2
2018-02-25 00:27