我使用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']; ?>

最佳答案

这是你的工作流程。
一。我希望在第一次登录时能够将每个用户保存到一个用户数据库中,其中包含基本信息,如电子邮件和姓名
您可以将facebook用户名设置为数据库中的唯一标识符。这样,可以在用户登录到应用程序时对其执行检查。创建用于身份验证的库,并使用它来检查控制器函数中的访问权限。成功验证数据后,使用模型更新数据库。
2.如果在facebook上进一步登录时更改了数据,我希望在数据库中更新数据
你可以编写一个类似于上面的脚本来匹配用户登录时从facebook获取的数据。对于图像,可以使用graph apihttps://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?
您可以使用同一个库来创建要执行此检查的函数。使用同一模型执行数据更新。
三。我希望能够通过我自己的网站为每个用户添加更多的自定义数据。
这将是你正常的php代码,不会处理facebook。用户登录后,您可以允许他通过您网站上的表单输入更多详细信息。这将是应用程序中的另一个控制器,它将用户窗体显示为视图,并连接到模型以更新数据库。

09-26 23:30
查看更多