【问题标题】:How to save Facebook user basic information to database with CodeIgniter 3.1.0如何使用 CodeIgniter 3.1.0 将 Facebook 用户基本信息保存到数据库
【发布时间】:2017-01-15 19:37:28
【问题描述】:

我正在使用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']; ?>来称呼这个名字

【问题讨论】:

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


    【解决方案1】:

    这将是您的工作流程。

    1.我希望能够在第一次登录时使用电子邮件和姓名等基本信息将每个用户保存到用户数据库

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

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

    您可以编写与上述类似的脚本,以匹配用户登录时从 facebook 获取的数据。对于图像,您可以使用 graph 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。用户登录后,您可以允许他通过您网站上的表格输入更多详细信息。这将是您应用程序中的另一个控制器,它将用户表单显示为视图并连接到模型以更新数据库。

    【讨论】:

    • 感谢流程图,因为这将是最重要的事情。不过,我需要一个更具体的 CodeIgniter 答案。
    • 我已经编辑了我的答案。在每个点的末尾添加了更多细节。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-02
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    • 2016-12-01
    • 2015-09-06
    • 1970-01-01
    相关资源
    最近更新 更多