如何使用CodeIgniter 3.1.0将Facebook用户的基本信息保存到数据库中


How to save Facebook user basic information to database with CodeIgniter 3.1.0

我使用https://github.com/darkwhispering/facebook-sdk-codeigniter使用PHP SDK v5登录facebook。我希望能够将每个用户保存到用户数据库在首次登录与电子邮件和名称等基本信息。接下来,我想在数据库中更新的数据,如果数据已更改在facebook上进一步登录。最后,我希望能够通过我自己的网站为每个用户添加更多的自定义数据。

我是PHP和CI的新手。我知道我需要做一个模态。请告诉我。

这是我从sdk $user = $this->facebook->request('get', '/me?fields=id,name,first_name,last_name,email')中提取的数据

我可以使用<?=$user['name']; ?>

调用名称

这是你的工作流程。

1。我希望能够将每个用户保存到用户数据库在首次登录时与基本信息,如电子邮件和名称

你可以将facebook用户名设置为数据库中的唯一标识符。这样,您就可以在用户登录到您的应用程序时对其执行检查。创建用于身份验证的库,并使用它来检查控制器函数中的访问权限。一旦数据验证成功,使用模型更新数据库。

2。我想在数据库中更新的数据,如果数据已更改在facebook上进一步登录

您可以编写类似于上面的脚本,以便在用户登录时匹配从facebook获取的数据。对于图像,您可以使用图形api https://graph.facebook.com//picture?redirect=false并保存图像名称或id,无论该名称或id在数据库中是唯一的,以便与当前id匹配。

你可以写一个cron来轮询facebook api,并使用访问令牌检查细节。(取决于你想要更新哪些字段以及facebook在其api中有多少限制访问)是否有一种方法来检查是否Facebook访问令牌仍然有效?您可以使用相同的库来创建用于执行此检查的函数。使用相同的模型执行数据更新。

3。我希望能够通过我自己的网站为每个用户添加更多的自定义数据。

这将是你的正常PHP代码,不会处理facebook。用户登录后,您可以允许他通过您网站上的表单输入更多详细信息。这将是应用程序中的另一个控制器,它将用户表单显示为视图,并连接到模型以更新数据库。