这是一个非常普遍/广泛的问题,因此只会得到非常普遍/广泛的回答。如果不知道您正在使用哪些服务器端技术,当前的架构如何,完成的工作量与必须完成的工作量相比有多少(对于采取一种方法而不是另一种方法需要多少努力是相关的),则很难提出任何建议。
我个人不熟悉GData或YouTube API,因此它们的技术对我来说是未知的。然而,我可以提出以下个人建议:
1)建议您避免直接检查页面的HTML,而是建议使用服务器端API来补充客户端API。具体而言,我会考虑
类RESTful的方法,其中您将您的实体/数据视为要执行操作的资源。
这种方法的好处是独立于您页面的实际视图/HTML表示形式,因此更加强健。如果您直接针对您的HTML编写API,则每次您改变页面时(即使内容/数据保持不变),都会存在破坏API的风险。
另一个拥有服务器端组件的好处是您可以利用
JSONP,这可以减轻跨域请求所涉及的一些痛苦。然而,JSONP的一个缺点是您不能进行POST请求,只能进行GET请求,这与RESTful方法并不完全一致(但我仍然相信RESTful架构提供了许多好处)。
2) 数据传输是一个简单的建议 - 毫无疑问,我会选择
JSON。在某些情况下,XML可能是比JSON更合适的数据格式,但总体而言,我认为您会发现JSON非常适合您的需求。
3) 对于跨域请求,客户端身份验证可能会很困难。这里的一个选项是使用iframe进行身份验证。另一个选项是使用HMAC或OAuth。
4) 至于实际编写JavaScript API,我建议阅读一些关于
JavaScript书籍的SO线程。它们可能包括有关命名空间和其他有用的组织API主题的讨论。
正如我所说的那样 - 这些是非常通用的建议。也许您的用例只需要快速而肮脏的HTML抓取(尽管您可能需要使用IFrames来解决跨域限制)。总体而言,我上面提到的内容并不是一项轻松的任务,特别是如果现在没有这些元素中的任何一个。