2011-11-25 92 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>