Facebook - JavaScript SDK и сохранение информации о пользователе в базу данных - PullRequest
4 голосов
/ 19 марта 2012

Я провел небольшое исследование и обнаружил, что JavaScript SDK Facebook лучше, чем 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 голосов
/ 29 мая 2013

Javascript работает на стороне клиента, а PHP - на стороне сервера. Javascript SDK обычно используется на стороне клиента, только для " enrich " UI, (например, добавление "Welcome X!" На экран) , чтобы не извлекать данные и не сохранять базу данных.

Однако, если вы хотите сохранить их в БД, вы должны отправить их с клиента на сервер с помощью запроса AJAX, например:

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

Но здесь есть проблема безопасности , пользователь может отправить произвольную информацию о пользователе, минуя API Facebook. Поэтому для хранения данных на сервере я рекомендую вам получить информацию на сервере.

Вы можете сделать это двумя способами:

  1. Получить токен доступа с JS API и отправить токен на сервер и собрать информацию о сервере, перейдя в Graph API.

  2. Аутентификация пользователя на стороне сервера.

...