如何逐步安装和使用 joomla rest api

How to Install and use joomla rest api step by step

请帮忙,我想在 joomla 2.5 中使用 REST api!!我搜索了很多,在 Github 和 techjoomla 上花了很多天。我不明白如何安装 API 扩展或插件并使用它... 即使我没有找到任何合适的文档来使用 API。以及从哪里安装它.... 任何人都可以逐步向我解释如何安装 API 插件并使用正确的 link 下载它们以及使用它的正确文档...

您提到您正在使用 Joomla 2.5(不再积极开发或支持)。如果您可以升级/迁移到 Joomla 3。4.x,您的选择就会打开。

我最终为 Joomla 3 开发了 RESTful API。4.x,由 Slim PHP micro-framework 提供支持。请注意,这是一个商业 Joomla 包,所以如果您对 "free" 感兴趣,这不是它。

该软件包包括以下内容:

服务控制面板组件 Joomla "services" add-on 库,其中包括一个版本的 Slim v2.6.2(以及其他几个库),通过 composer 获得,通常在 vendor 文件夹中找到。稍后会详细介绍... 服务 Joomla 插件 服务 REST 插件 服务 Slim 配置插件 Slim JSON API 查看插件 Slim JSON API 中间件插件 你可能会问,"What is the point of all these plugins?"

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

服务控制面板允许在 per-user 基础上创建令牌(甚至每个 Joomla 用户可以创建多个令牌)。它还允许最终用户配置 Slim micro-framework 参数,甚至包括 API rate-limiting 功能的阈值(目前基于 requests-per-minute)。实际上,该部分非常棒,因为它提供了响应 header.

中 API 速率阈值状态的实时反馈

cAPI 核心包("cAPI","Constant API" 的缩写,因为一切都需要一个产品名称...)就是一个核心包。目前有许多 add-on 正在开发中,第一个是安全的 LDAP JSON API(连接到 Microsoft Active Directory),还有很多更酷的 add-on快来了。

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

因此,您可以充分利用 Joomla(强大的 ACL、高级插件架构、丰富的扩展)和 Sim(经过验证,standards-compliant,成熟 RESTful PHP micro-framework), 多合一,易于安装。

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

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

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

服务端点和 CORS Ajax 调用

/api/v1/user/ - 可用于登录和注销用户以及 returns 响应中激活的 Joomla session - 这也提供多模式身份验证(均通过令牌header 或 URL 字符串中的用户名和密码)。基本上,它可以满足您的需求。 - 你像这样强制用户注销:/api/v1/user/logout/username/joomlasessionid

基本上,这是 tailor-made 用于驱动远程服务,或者说 iOS 或 Android 应用程序。

/api/v1/content/ - 提供创建、检索和更新内容的基本能力 - 虽然存在此功能,但我认为它正在积极开发中,并且会随着时间的推移变得更加强大。

我为 div 容器嵌入了一个示例 jQuery Ajax 语法,后跟 html 可以显示输出。请注意,headers 行是可选的(取决于 API 的要求)。

jQuery('button').on('click', function() {
    var requestUrl= "https://www.annatech.com/api/v1/slim/swagger";
    var start = new Date().getTime();
    jQuery.ajax({
        url: requestUrl,
        type: "GET",
        success: function (resultData) {
          totalTime = new Date().getTime() - start;
          jQuery( "#title" ).empty();
            jQuery( "#requestUrl" ).empty();
            jQuery( "#totalTime" ).empty();
          jQuery( "#output" ).empty();
            jQuery( "#version" ).empty();
            
            jQuery( "#output" ).append(resultData.info.description).html;
            jQuery( "#version" ).append('Version '+resultData.info.version).html;
            jQuery( "#title" ).append(resultData.info.title).html;
            jQuery( "#requestUrl" ).append(requestUrl).html;
            jQuery( "#totalTime" ).append(totalTime+ 'ms').html;
        },
        error: function (jqXHR, textStatus, errorThrown) {
            alert('error');
        },

        timeout: 120000
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<button>Send CORS</button>
<p>Request URL: <span id="requestUrl"></span></p>
<p>Response Time: <span id="totalTime"></span></p>
<h2><span id="title"></span></h2>
<h3><span id="version"></span></h3>
<div id="output"></div>

不用说,所有 cAPI 核心包的改进都包含在年度订阅费中。 Add-ons 将(将)单独计费和支持。

关于文档

请注意文档仍在开发中,但如果您想直接与我联系(或通过 https://www.annatech.com/annatech-llc.html), I can go over the details with you. Also, I would recommend that you look over the Slim micro-framework so you can understand the basic route design http://docs.slimframework.com

如果您有任何其他问题,请告诉我。