2011-11-25 93 views
1

我對Facebook整合非常陌生,並且遇到了一堵我希望有人能幫助我的牆。我已閱讀了許多文章並測試了各種代碼示例以實現我所需的內容,並且我認爲最接近的我可以獲得的是FQL和JavaScript。我深入到了將要使用它的內容,但基本上我需要從Facebook表中檢索數據並將結果呈現在HTML頁面中。Facebook FQL Javascript結果集

我有這個工作時,查詢單個項目,當某事=某事,單個結果打印到屏幕在我的HTML頁面,但當我改變查詢,以便它返回多個結果代碼似乎是失敗沒有任何錯誤。

這是一個示例查詢,我試圖在下面的示例JavaScript代碼中工作,但它返回一個javascript錯誤。我知道查詢很好,因爲它可以在這裏進行測試。對於FQL SQL

測試頁查詢 https://developers.facebook.com/docs/reference/rest/fql.query/

例如查詢 SELECT名字,pic_square,PROFILE_URL FROM用戶WHERE包含( '薩姆·羅伯茨')

錯誤上面查詢時repalces查詢在下面的工作示例中。

SCRIPT1006:預期「)」 facebook_2.html,行29字符95

這裏是我的檢索數據的一個單行的工作例如,您可以運行這一點,但它需要一個網絡上服務器。如果您有任何建議,請讓我知道,我真的需要它在JavaScript中工作,因爲這是我有經驗的唯一語言。

<html> 
    <head> 
     <title>My Facebook Login Page</title> 
    </head> 
    <body> 
    <div id="msg"></div> 
     <div id="fb-root"></div> 
     <script> 
     window.fbAsyncInit = function() { 
      FB.init({ 
      appId  : '2xxxxxx', 
      status  : true, 
      cookie  : true, 
      xfbml  : true 
      }); 
     }; 
     (function(d){ 
      var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;} 
      js = d.createElement('script'); js.id = id; js.async = true; 
      js.src = "//connect.facebook.net/en_US/all.js"; 
      d.getElementsByTagName('head')[0].appendChild(js); 
     }(document)); 
     </script> 

     <script> 
     function doSomething() 
     { 
      FB.init({appId: '2xxxxxxxx', status: true, cookie: true, xfbml: true}); 
      var query = FB.Data.query('select name, uid from user where uid=742375122'); 
      query.wait(function(rows) 
      { 
      document.getElementById('msg').innerHTML = 'name is ' + rows[0].name; 
      }); 

     } 


     </script> 



     <input type="button" value="Click here" onClick="doSomething()"> 
    </body> 
</html> 

感謝您尋找。

+0

你對**第29行字符95 **有什麼** ** facebook_2.html **?這是你的問題所在的地方。您是否按照原樣粘貼了代碼而無需修改?你提供的樣品對我來說完美無缺。 –

回答

0

嘗試使用「SELECT name,pic_square,profile_url FROM用戶WHERE包含('sam roberts')」 似乎是一個字符串越來越切割的問題。

<html> 
    <head> 
     <title>My Facebook Login Page</title> 
    </head> 
    <body> 
    <div id="msg"></div> 
     <div id="fb-root"></div> 
     <script> 
     window.fbAsyncInit = function() { 
      FB.init({ 
      appId  : '283998891634567', 
      status  : true, 
      cookie  : true, 
      xfbml  : true 
      }); 
     }; 
     (function(d){ 
      var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;} 
      js = d.createElement('script'); js.id = id; js.async = true; 
      js.src = "//connect.facebook.net/en_US/all.js"; 
      d.getElementsByTagName('head')[0].appendChild(js); 
     }(document)); 
     </script> 

     <script> 
     function doSomething() 
     { 
      FB.init({appId: '283998891634567', status: true, cookie: true, xfbml: true}); 
      var query = FB.Data.query("SELECT name, pic_square, profile_url FROM user WHERE contains('sam roberts')"); 
      query.wait(function(rows) 
      { 
      document.getElementById('msg').innerHTML = 'name is ' + rows[0].name; 
      }); 

     } 


     </script> 



     <input type="button" value="Click here" onClick="doSomething()"> 
    </body> 
</html>