如何为 twitter、facebook 等社交网络构建 API?

How to build an API for a social network like twitter, facebook?

我对 Android 开发有一些了解,已经完成了一些使用 restful 的应用程序,但我知道我想开发自己的 API,我正在开发一个社交网络将像 Facebook 一样工作,人们可以 post 照片,会有一个喜欢的按钮,他们可以发表评论,每个人都会有一个带照片的个人资料,等等。

但我不知道如何构建 API,我想为此使用 laravel,我找到了最实用、最简洁的框架,但我需要有关如何构建的指南构建那个 API,我应该从什么地方开始?

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

如果您打算公开您的 API 供第三方使用(而不仅仅是您的应用程序),那么您将需要采用适当的身份验证方法。该规范(facebook、github 等使用)的当前规范是 OAUTH2。您可以在此处阅读有关 OAUTH2 的更多信息 https://www.rfc-editor.org/rfc/rfc6749

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

如果您打算仅在您的应用程序内部使用 API,那么您可以实施更轻量级的身份验证方法。

身份验证方法到位后,只需通过 JSON 公开您的数据库数据即可。这就像查询您的数据库并将结果作为 JSON 响应发送一样简单。将其视为一个普通的 MVC 网站,只是响应没有模板化 HTML,它是 JSON.

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

至于架构,OAUTH2 的服务器,API 和数据库将是分开的。如果您希望 API.

上的流量很高,您还可以实施负载平衡