Facebook - JavaScript SDK并将用户信息保存到数据库

时间:2012-03-18 21:45:36

标签: javascript facebook-javascript-sdk

我做了一些研究,发现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 />";
         });
    });
}

我在互联网上搜索,但我没有找到任何东西。有没有办法将这些信息存储到数据库中?

1 个答案:

答案 0 :(得分:0)

Javascript在客户端运行,PHP在服务器端运行。 Javascript SDK通常用于客户端,仅用于“丰富”UI,(例如将“Welcome X!”添加到屏幕)不获取数据并存储a DB。

但是,如果您确实希望将它们存储在数据库中,则应通过AJAX请求将它们从客户端发送到服务器,例如:

Jquery中的

$.post("/your/php/endpoint/here", rows)

但是这里存在安全问题,用户可以绕过Facebook的API发送任意用户信息。因此,要在服务器上存储数据,我建议您在服务器上获取信息。

您可以通过两种方式执行此操作:

  1. 使用JS api获取访问令牌并将令牌发送到服务器并通过转到图API来收集服务器上的信息。

  2. User server side authantication.