我做了一些研究,发现Facebook JavaScript SDK比PHP SDK更好。现在,我使用JavaScript来获取用户信息,例如FQL:
function fqlQuery(){
showLoader(true);
FB.api('/me', function(response) {
showLoader(false);
//http://developers.facebook.com/docs/reference/fql/user/
var query = FB.Data.query('select name, profile_url, sex, pic_small from user where uid={0}',
response.id);
query.wait(function(rows) {
document.getElementById('debug').innerHTML =
'FQL Information: '+ "<br />" +
'Your name: ' + rows[0].name + "<br />" +
'Your Sex: ' + (rows[0].sex!= undefined ? rows[0].sex : "") + "<br />" +
'Your Profile: ' + "<a href='" + rows[0].profile_url + "'>" + rows[0].profile_url + "</a>" + "<br />" +
'<img src="' + rows[0].pic_small + '" alt="" />' + "<br />";
});
});
}
我在互联网上搜索,但我没有找到任何东西。有没有办法将这些信息存储到数据库中?
答案 0 :(得分:0)
Javascript在客户端运行,PHP在服务器端运行。 Javascript SDK通常用于客户端,仅用于“丰富”UI,(例如将“Welcome X!”添加到屏幕)不获取数据并存储a DB。
但是,如果您确实希望将它们存储在数据库中,则应通过AJAX请求将它们从客户端发送到服务器,例如:
Jquery中的 $.post("/your/php/endpoint/here", rows)
。
但是这里存在安全问题,用户可以绕过Facebook的API发送任意用户信息。因此,要在服务器上存储数据,我建议您在服务器上获取信息。
您可以通过两种方式执行此操作:
使用JS api获取访问令牌并将令牌发送到服务器并通过转到图API来收集服务器上的信息。