javascript - 如何编写 JavaScript API?

标签 javascript ajax api authentication cross-domain

<分区>

我希望创建一个 API,以便其他网站可以从我的 Web 应用程序访问数据。

我无法在网上找到任何资源来解释创建您自己的 javascript API 的过程。

我想学习如何设置身份验证、数据传输等。

如何编写自己的 JavaScript API?

是否有任何好的教程可以解释创建 JavaScript API(如 GData API 或 YouTube API)的过程?

我实际上会在 2 个不同的应用程序上执行此操作。一个是在带有 Tomcat、MySQL 和 Java 的 apache 服务器上。另一个是在带有 MySQL 和 PHP 的 apache 上。前端全部用 javascript 编写,通过它与后端交互。我已经开始编写他们将用来与我们的功能交互的库。

最佳答案

这是一个非常笼统/广泛的问题,因此只会获得非常笼统/笼统的回应。如果不知道您正在使用的服务器端技术、您当前的架构、完成的工作量与必须完成的工作量相比,很难提出任何建议(与采用一种方法需要付出多少努力相关)另一个)等

我个人并不熟悉 GData 或 YouTube API,因此我不知道它们的技术。不过,我可以提出以下个人建议:

1) 我建议您避免直接对页面进行 HTML 检查,而是建议使用服务器端 API 来补充您的客户端 API。具体来说,我会考虑 RESTful like approach您将实体/数据视为您希望对其采取行动的资源。

这种方法的好处是独立于页面的实际 View /HTML 表示,因此更能适应变化。如果您直接针对 HTML 编写 API,则任何时候您更改页面(即使内容/数据保持不变),您都将面临破坏 API 的风险。

拥有服务器端组件的另一个好处是您可以利用 JSONP这可以减轻进行跨域请求所涉及的一些痛苦。然而,JSONP 的一个缺点是您不能发出 POST 请求,只能发出 GET 请求,这并不完全符合 RESTful 方法(但我仍然相信 RESTful 架构提供了许多好处)。

2) 数据传输是一个简单的建议 - 毫无疑问我会选择 JSON .在某些情况下,XML 可能比 JSON 更适合数据格式,但总的来说,我认为您会发现 JSON 非常适合您的需求。

3) 跨域请求的客户端身份验证可能很困难。这里的一种选择是使用 iframe 进行身份验证。另一种选择是使用 HMAC 或 OAuth。

4) 至于实际编写 JavaScript API,我建议您阅读 SO 上关于 JavaScript books 的一些主题。 .这可能包括关于命名空间和其他对组织 API 有用的主题的讨论。

正如我所说 - 这些都是非常通用的建议。可能是您的用例可以通过快速而肮脏的 HTML 抓取来完成(尽管您可能需要使用 IFrame 来绕过跨域限制)。总的来说,我上面提到的内容并不是一项微不足道的任务,特别是如果这些要素现在都没有到位的话。

关于javascript - 如何编写 JavaScript API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6099949/

相关文章:

c# - NetSuite 使用 Web 服务在 C# 中为 SelectCustomFieldRef 选择自定义列表中的值

javascript - Css3 媒体查询 polyfill

javascript - 制作具有链接行为的 html 按钮的最佳方法是什么?

ajax - jQuery 发送字符串作为 POST 参数

javascript - 如何减少 Jquery/Ajax 代码 -> 删除重复

ruby-on-rails - 保护 iOS 应用程序和 Rails 应用程序之间通信的最简单方法是什么?

javascript - 让一个元素跟随另一个元素

javascript - 如何使用 "this"调用事件内的函数

javascript - 如何在 PUT 后使用一次性消息进行重定向

python - 我如何从外部 API 填充 Django 模型?