2012-03-18 172 views
4

我做了一些調查,發現Facebook JavaScript SDK比PHP SDK更好。現在,我把用JavaScript的用戶信息像FQLFacebook - JavaScript SDK並將用戶信息保存到數據庫

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

沒有回答這個問題:■ – user1277467 2012-03-18 22:13:12

+0

任何回答PLS? – vzhen 2013-01-22 19:42:35

回答

0

Javascript在客戶端運行,PHP在服務器端運行。 Javascript SDK一般用於客戶端,僅限於「豐富」UI,(如將「Welcome X!」添加到屏幕中)不提取數據並存儲數據庫。

但是,如果你想將它們存儲在一個數據庫,你應該從客戶端通過Ajax請求發送到您的服務器,如:jQuery的

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

但是這裏存在一個安全問題,用戶可以繞過Facebook的API發送任意的用戶信息。所以,要將數據存儲在服務器上,我建議您在服務器上獲取信息。

您可以通過兩種方式來實現:

  1. 獲取與JS API訪問令牌和令牌發送到服務器,並通過將圖形API收集信息的服務器。

  2. User server side authantication.

相關問題