八年前关闭的
我希望创建一个API,以便其他网站可以从我的web应用程序访问数据
我还没有找到任何在线资源来解释创建自己的javascript API的过程
我想学习如何设置身份验证、数据传输等
如何编写自己的JavaScript API
有没有好的教程可以解释创建像GDataAPI或YouTube API这样的JavaScript API的过程
实际上,我将在两个不同的应用程序上做这件事。一个是在apache服务器上,使用Tomcat、MySQL和Java。另一个是在apache上,使用MySQL和PHP。前端都是用javascript编写的,通过javascript与后端接口。我已经开始编写他们将用于与我们的函数交互的库
这是一个非常通用/广泛的问题,因此只能得到非常通用/广泛的回答。如果不知道您正在使用什么服务器端技术、您当前的架构如何、完成了多少工作与必须完成多少工作,就很难提出任何建议(与采用一种方法比另一种方法所需的工作量相关)等
我个人不熟悉GData或YouTube API,因此我不知道它们的技术。但是,我可以提出以下个人建议:
1)我建议您避免直接对页面进行HTML检查,而建议使用服务器端API来补充客户端API。具体而言,我将考虑一种类似于REST的方法,在这里您将您的实体/数据作为您希望作用的资源。
这种方法的好处是独立于页面的实际视图/HTML表示形式,因此对更改更具弹性。如果您直接针对HTML编写API,任何时候更改页面(即使内容/数据保持不变),您都将面临破坏API的风险
拥有服务器端组件的另一个好处是,您可以利用JSONP,它可以减轻跨域请求的一些痛苦。然而,JSONP的一个缺点是您不能发出POST请求,只能发出GET请求,这与RESTful方法并不完全一致(但我仍然相信RESTful架构提供了很多好处)
2) 数据传输是一个简单的建议——我会选择JSON。在某些情况下,XML可能比JSON更适合数据格式,但总的来说,我认为JSON非常适合您的需要
3) 客户端身份验证对于跨域请求来说可能很困难。这里的一个选项是使用iframe进行身份验证。另一个选项是使用HMAC或OAuth
4) 至于实际编写JavaScriptAPI,我建议大家阅读一些关于JavaScriptAPI的书籍,其中可能包括关于名称空间和其他对组织API有用的主题的讨论
正如我所说的——这些都是非常通用的建议。可能你的用例只需要快速而肮脏的HTML抓取就可以了(尽管你可能需要使用iFrame来绕过跨域限制)。我上面提到的,作为一个整体,并不是一项简单的任务,特别是如果这些元素现在都不存在的话