如何为Twitter,Facebook这样的社交网络构建API?

时间:2015-03-15 23:28:13

标签: android api rest laravel

我对Android开发有一些了解,已经做了一些消耗宁静的应用程序,但知道我想开发自己的API,我正在开发一个像Facebook一样工作的社交网络,人们可以发布照片,有它将是一个类似的按钮,他们可以发表评论,每个人都会有一个带图片的个人资料等。

但是我不知道如何构建API,我想使用laravel,我找到了最实用,最干净的框架,但是我需要一个关于如何构建API的指南,我应该从哪里开始?

1 个答案:

答案 0 :(得分:3)

创建API涉及许多细节,但这里有一些信息可以帮助您入门。

如果您计划公开您的API以供第三方(而不仅仅是您的应用)使用,那么您需要提供一个身份验证方法。目前的规范(facebook,github等使用)是OAUTH2。您可以在此处了解有关OAUTH2的更多信息https://tools.ietf.org/html/rfc6749

至于在Laravel中实施它,http://oauth2.thephpleague.com/是一个让你入门的软件包,但你可以google并找到更多。

如果您计划仅在内部使用API​​,那么您可以实施更轻量级的身份验证方法。

一旦验证方法到位,就可以通过JSON公开您的数据库数据了。这很简单,只需查询数据库并将结果作为JSON响应发送即可。可以把它想象成一个普通的MVC网站,只是反应不是模板化的HTML,它是JSON。

此外,就像您网站的某些区域需要身份验证一样,以便检查用户是否已登录,在这种情况下,OAUTH2框架将对此进行检查,以便对您的API的所有请求进行身份验证。

对于架构,OAUTH2,API和数据库的服务器将是分开的。如果您希望API的流量很高,也可以实现负载平衡。