gpt4 book ai didi

php - 如何使用 php 将用户信息从 facebook sdk 提取到我网站的数据库中

转载 作者:行者123 更新时间:2023-11-29 01:40:32 26 4
gpt4 key购买 nike

我已经使用 Facebook 的 java script sdk 在我的站点中启用了 facebook 登录。现在我想从 facebook 中提取用户的基本信息,并将其存储在我网站的 MySQL 数据库中。我需要通过 php 完成此操作,因为替代注册页面是在 php 中实现的。如果有任何其他更好的方法,请务必提及。

编辑:我知道我需要使用响应对象,但是我应该把对象请求放在哪里?和 php“发布”代码?我对 php 比较陌生,下面的代码行属于哪里?

 FB.api('/me', function(response) {
console.log(JSON.stringify(response));

});

将返回一个值数组:

{ “编号”:“101540562372987329832845483”, “电子邮件”:“example@example.com”, “名字”:“鲍勃”, [ ... ]

编辑 2:

FB.api 执行 api 调用并接收包含用户信息的响应对象,但我必须使用下面的确切“code1”还是可以使用我熟悉的“code2”中的其他方式?

代码1:

FB.login(function(response) {
if (response.authResponse) {
console.log('Welcome! Fetching your information.... ');
FB.api('/me', function(response) {
var fbname=response.name;
var fbid=response.id;
$.ajax({
type: "POST",
url: page_for_storing_information,
data: "name="+fbname+"&uid="+fbid,
success: function(msg){
}
});
console.log('Good to see you, ' + response.name + '.');
});
} else {
console.log('User cancelled login or did not fully authorize.');
}
});

代码 2:

$name = mysqli_real_escape_string($con, $_POST['response.name']);
$email = mysqli_real_escape_string($con, $_POST['response.email']);
$id = mysqli_real_escape_string($con, $_POST['response.id']);


$sql="INSERT INTO questbook (name, email, id)
VALUES ('$name', '$email', '$comment', )";

if (!mysqli_query($con,$sql)) {
die('Error: ' . mysqli_error($con));
}

最佳答案

Facebook 建议为 API 使用新的 PHP SDK 4。它需要 PHP 5.4+,确保你在你的服务器上安装了它。这里有一些帮助您入门的链接,Facebook 文档对新的 PHP SDK 还不是很详细(目前):

您可能想要使用的是“JavaScript 登录助手”。

编辑:我知道您甚至不需要为此使用 PHP SDK,因为您甚至可以通过 JavaScript 请求基本数据。因此,您需要做的就是使用 AJAX 调用带有数据库存储代码的 php 文件。

示例 AJAX 代码:

var ajaxRequest = new XMLHttpRequest();
ajaxRequest.onreadystatechange = function() {
if(ajaxRequest.readyState === 4) {
console.log(ajaxRequest.responseText);
}
};
//send with POST
ajaxRequest.open('POST','yourscript.php',true);
ajaxRequest.setRequestHeader('Content-type','application/x-www-form-urlencoded'); //like a form
ajaxRequest.send('name=xxxx&fbid=xxxxx');

不确定您是否知道如何使用 MySQL,但您应该在 google 上搜索“PDO”——将 MySQL 与 PHP 结合使用的推荐方式:http://php.net/manual/en/book.pdo.php

关于php - 如何使用 php 将用户信息从 facebook sdk 提取到我网站的数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25011369/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com