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

时间:2016-09-08 01:32:55

标签: php codeigniter facebook-graph-api facebook-php-sdk

我正在使用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 个答案:

答案 0 :(得分:1)

这将是您的工作流程。

<强> 1。我希望能够在首次登录时将每个用户保存到用户数据库,并提供电子邮件和姓名等基本信息

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

<强> 2。如果在进一步登录时在Facebook上更改了数据,我希望数据库中的数据更新

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

您可以编写一个cron来轮询facebook api并使用访问令牌检查详细信息。 (取决于您要更新哪些字段以及facebook在其api中访问限制的程度) Is there a way to check if Facebook access token is still valid?。 您可以使用相同的库来创建要执行此检查的函数。使用相同的模型执行数据更新。

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

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