目前似乎有两种网站API类别。
这些API允许扩展网站功能,例如Facebook、Myspace等。这些API看起来非常多样化。
这些API允许与现有的网站功能进行交互,例如Twitter、Flickr等。 它们都声称是基于REST的,但实际上只是“通过HTTP传输数据”。
如果您要创建一个既允许功能扩展又允许外部交互的网站,您将使用哪些现有的API作为参考模型?
目前似乎有两种网站API类别。
这些API允许扩展网站功能,例如Facebook、Myspace等。这些API看起来非常多样化。
这些API允许与现有的网站功能进行交互,例如Twitter、Flickr等。 它们都声称是基于REST的,但实际上只是“通过HTTP传输数据”。
如果您要创建一个既允许功能扩展又允许外部交互的网站,您将使用哪些现有的API作为参考模型?
我们自己在这个领域进行一些研究。就网站API参考资料的“黄金标准”而言,没有太多可供参考的。
最常见的网站API包括:
另外还有以下列表:
http://www.pingable.org/the-top-15-web-apis-for-your-site/
有人推荐书籍Restful Web Services作为参考资料。
(如有需要,可以编辑上述列表以添加其他知名网站的API)
我曾经使用过几个API,下面直入主题
Myspace
Photobucket(免责声明:我编写了Photobucket API的服务器端)
理想特点
所以说...介于Facebook和Twitter之间。当然,我对Photobucket上的一些功能有偏见,但我也讨厌其中的一些功能。
在我看来,API文档与API的实际设计同等重要(甚至更重要)。
优秀、简洁的文档可以弥补设计上的任何缺陷。在查看已发布的各种链接之后,这就是我所学到的。特别地,Last.fm的文档非常好:易于浏览和理解。
Last.fm的API一直是网络上最好维护的API之一。它也比大多数API存在时间更长,因为它最初就是基于这个目的创建的。
在我目前的日常工作中,我也经常使用OpenSocial,其中URI感觉非常自然,但也以其独特的方式扩展了REST标准。
如果您喜欢严格和安全,请使用SOAP。
一些特别好的API:
我对其他API没有经验,但即使随着时间的推移,Facebook API仍然很糟糕。它远远达不到“黄金标准”。相反,人们会因为要克服困难而咬紧牙关,因为一旦他们终于做对了,它可以增加很多价值。