这是一个非常普遍的/广泛的问题,因此只会得到非常普遍的/广泛的回答。如果不知道您正在使用哪种服务器端技术,您目前的架构如何,需要完成多少工作以及需要完成多少工作,则很难提出任何建议(与需要采取一种方法需要多少努力有关另一个)等。
我个人不熟悉GData或YouTube API,所以他们的技术对我来说是未知的。但是,我可以提出以下个人建议:
1)我建议您避免直接对您的页面进行HTML检查,而是建议使用服务器端API来补充您的客户端API。具体而言,我会考虑一个RESTful like approach,您将您的实体/数据视为您希望采取行动的资源。
此方法的好处是独立于您页面的实际视图/ HTML表示,因此对更改具有更强的适应性。如果您直接针对HTML编写API,则每当您更改网页时(即使内容/数据保持不变),您都有可能违反API。
拥有服务器端组件的另一个好处是您将能够利用JSONP,这可以减轻跨域请求所涉及的一些痛苦。然而,JSONP的一个缺点是你不能发出POST请求,只有GET请求,它并不完全采用RESTful方法(但我仍然相信RESTful架构提供了许多优点)。
2)数据传输是一个简单的建议 - 下手我会选择JSON。在某些情况下,XML可能比JSON更适合使用数据格式,但总的来说,我认为您会发现JSON将很好地满足您的需求。
3)对于跨域请求,客户端认证可能很困难。这里的一个选择是使用iframe来进行身份验证。另一种选择是使用HMAC或OAuth。 4)至于实际编写JavaScript API,我建议阅读关于JavaScript books的SO上的一些线程。这可能包括关于命名空间和其他组织API的讨论。
正如我所说 - 这些都是非常通用的建议。可能是你的用例在一个快速而脏的HTML抓取中可以做得很好(尽管你可能需要使用IFrame来解决跨域限制)。我上面提到的整体来看,并不是一项微不足道的任务,特别是如果现在这些要素都不存在的话。
您是否已经拥有JavaScript API将通过其接口的服务器端组件?还是你打算直接检查你的HTML页面? – Matt 2011-05-23 16:19:57
我还没有服务器端组件,但我可以。取决于哪个更好或更容易。我也可以做,但我倾向于检查HTML页面。 – UpHelix 2011-05-23 16:46:40
好吧,该死的我觉得它很有用! – 2016-01-31 05:52:10