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

2023-11-29

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


您提到您正在使用 Joomla 2.5(不再积极开发或支持)。如果您可以升级/迁移到 Joomla 3.4.x,那么您就有更多选择。

我最终为 Joomla 3.4.x 开发了一个 RESTful API,由 Slim PHP 微框架提供支持。请注意,这是一个商业 Joomla 软件包,因此,如果您对“免费”感兴趣,那么这不是它。

该套件包括以下内容:

服务控制面板组件 Joomla“服务”附加库,其中包括通过 Composer 获取的 Slim v2.6.2 版本(以及其他几个库),通常可以在供应商文件夹中找到。稍后会详细介绍这一点... 服务 Joomla 插件 服务 REST 插件 服务 Slim 配置插件 Slim JSON API 查看插件 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

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

服务端点和 CORS Ajax 调用

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

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

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

我嵌入了一个示例 jQuery Ajax 语法,后跟可以显示输出的 div 容器的 html。请注意,标头行是可选的(取决于 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 Core 包的改进都包含在年度订阅费中。附加组件(将)单独计费和支持。

关于文档

请注意,该文档仍在开发中,但如果您想直接与我联系(或通过https://www.annatech.com/annatech-llc.html),我可以和你一起讨论细节。另外,我建议你看一下 Slim 微框架,这样你就可以了解基本的路由设计http://docs.slimframework.com.

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何逐步安装和使用 joomla rest api 的相关文章

随机推荐

  • 组合列表元素

    如何合并 组合列表中的两个或三个元素 例如 如果有两个元素 则列表 l l a b c d e 1 2 3 4 5 被合并到 a 1 b 2 c 3 d 4 e 5 但是如果有三个元素 l a b c d e 1 2 3 4 5 I II
  • Java 准备好的语句未执行

    我创建了一个小型的三层程序 包括 前端 gt servlet gt 数据库 前端我在表单中输入一些详细信息 它们被传递到 servlet 该 servlet 将呈现一些 HTML 并显示输入到表单中的值 同时还调用 DatabaseHelp
  • 根据另一个集合中特定文档的存在情况,将集合中的文档发布到 Meteor 客户端(发布与关系)

    我有两个收藏 优惠 相关字段 id ShareRelations 相关字段 接收者ID and offerId 我只想向登录用户发布已共享给他的优惠 实际上 我是通过使用辅助数组 visibleOffers 来完成此操作 我通过循环每个 S
  • 编码 javascript url 以传递 #(hashtag)

    我将 URL 传递给 PHP 文件 在其中更改一些颜色等 其中一种颜色是 ccc并被传递为 background ccc这破坏了我的 PHP 文件 它停止了我的 GET该主题标签处的参数 之后的所有内容都不会传递 我尝试将我的网址编码为en
  • 反射式 Web 应用程序 (WebIDE)

    Preamble 所以 这个问题已经得到了解答 但由于这是我对该项目的第一个问题 我将继续在我对该项目提出的其他问题中引用它 对于来自另一个问题的任何人 以下是基本想法 创建一个 Web 应用程序 可以使创建其他 Web 应用程序或网站变得
  • 在 Fortran 中查找数组中满足条件的最小值[索引]

    我正在寻找数组中大于某个数字的最小值 我发现这次讨论我不明白 有MINLOC 但看起来它本身并没有达到我想要的效果 尽管我没有解析给定示例中传递给它的参数 也可以使用循环来完成此操作 但可能很笨拙 你可能想要MINVAL 如果你的数组是这样
  • 在处理程序中创建了一个 Promise,但没有从中返回

    我刚刚开始使用 Bluebird Promise 但遇到了一个令人困惑的错误 代码摘要 var jQueryPostJSON function jQueryPostJSON url data return Promise resolve j
  • D3 Y 轴似乎颠倒了

    我正在尝试根据 CSV 文件中的一些数据生成图表 My code
  • 如何检测 Azure 网站上的 HTTPS 重定向?

    根据标题 我有一个 Node js 应用程序 我希望能够检测请求是通过 HTTPS 还是 HTTP 发出 到目前为止我的重定向看起来像这样 Ensure the page is secure or that we are running a
  • 列表中的数据表

    我已经下载了包含在List
  • Java中如何处理关闭应用程序事件?

    拥有一个控制台应用程序 一个接受来自客户端的多个连接的服务器 是否可以在关闭的应用程序上拥有侦听器或事件 在这种情况下 我希望告诉所有连接的客户端在应用程序真正自行关闭之前轻轻断开连接 有什么解决办法吗 谢谢你 您想使用关闭挂钩 Runti
  • 在Win32中,如何改变STATIC文本的颜色?

    我的窗口上有一些黑色的静态文本 我想在运行时使用颜色选择器对话框更改它 我已经成功获得了颜色 现在我只需要更改文字即可 我读过WM CTLCOLORSTATICmessage 是要处理的消息 尽管这似乎仅适用于控件最初绘制到屏幕上时 可以W
  • 更新 Firebase 多位置并出现错误:路径是路径的祖先。迅速

    当我尝试使用以下命令在多个位置更新数据库时 updateChildValues 我收到下面列出的错误 我怎么解决这个问题 由于未捕获的异常 InvalidFirebaseData 而终止应用程序 原因 updateChildValues 对
  • 自定义单元格模板中带有按钮的 UI-Grid - 如何取消行选择事件?

    我正在使用 ui Grid v 3 0 1 我有一个特定列的自定义单元格模板 它在每行中显示一个按钮 我附加了一个 ng click 属性 它调用 appScope 来触发某些操作 一切都很顺利 但是 单击自定义模板按钮也会导致切换相关行的
  • 未找到基表或视图错误

    产品表 public function up Schema create product function Blueprint table table gt increments id table gt string name table
  • 使用 ionic 3 中的 Angularfire2 从 Firestore 获取集合文档的 ID

    这个问题在这里已经有答案了 我正在尝试获取集合的 id 以在离子页面中使用它 这是我的界面 export interface Item categoryOfPost string imageUrl string nameOfPost str
  • 如何使用 Python 3.x 读取和编辑 Google 电子表格?

    我知道我可以使用以下命令阅读和编辑 Google 电子表格gdata 但没有适用于 Python 3 的 gdata 版本 即使我想使用 Python 3 是否有一种 不是很复杂 的方法来编辑 Google 电子表格 我编写了一个替代方案G
  • 如何在 ffmpeg HLS 中启用 cookie

    有人知道如何在 ffmpeg 中启用 cookie 交互吗 我有一个 HLS 流 需要从服务器保存 cookie 但实际上这不会发生 你可以发送标头与 FFmpeg Linux ffmpeg i INPUT headers Cookie l
  • PyQt QLineEdit 与 QValidator

    我的项目中有一个 QLineEdit 我想在 qlineEdit 上使用验证 Create lineEdit itemValue QtWidgets QLineEdit Create objValidator QtGui QDoubleVa
  • 如何逐步安装和使用 joomla rest api

    请帮忙 我想在 joomla 2 5 中使用 REST api 我在 Github 和 techjoomla 上进行了很多搜索并花了很多天 我不明白如何安装 API 扩展或插件并使用它 即使我没有找到任何正确的文档来使用 API 以及从哪里