我目前正在使用Joomla 3.3.6,需要找到一个REST API来访问内容信息,用户信息等。我已经尝试使用以下REST API,这是由TechJoomla开发的,但无法找到有关样本请求,身份验证过程等的适当文档。
https://techjoomla.com/rest-api-for-joomla
我还考虑了jbackend REST API,它是作为joomla的扩展而开发的,它似乎是付费扩展。
经过大量的谷歌搜索后,我仍在努力寻找REST API来访问Joomla内容。请帮我解决这个问题。
提前谢谢你。
答案 0 :(得分:8)
我也遇到了同样的问题,这就是为什么我最终为Joomla 3.4.x开发RESTful API,由Slim PHP微框架提供支持。请注意,这是一个商业Joomla包。
该套餐包括以下内容:
您可能会问,“所有这些插件有什么意义?”
答案是它允许对核心组件的功能进行划分,并为易于扩展的服务路由架构打开了大门。请注意,可以轻松添加新插件,例如,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。
答案 1 :(得分:4)
我会为此推荐jBackend。
有关详细信息,请参阅https://joomla.stackexchange.com/questions/10306/creating-an-api-for-a-joomla-extension/10307#10307
答案 2 :(得分:4)