Facebook FQL Javascript结果集

时间:2011-11-25 16:00:43

标签: javascript html facebook facebook-fql

我对Facebook整合非常新,并且已经碰壁了,我希望有人可以帮助我。我已阅读了许多文章并测试了各种代码示例以实现我的需求,我认为最接近的是FQL和JavaScript。我将深入研究我将要使用它的内容,但基本上我需要从Facebook表中检索数据并在html页面中显示结果。

我在查询单个项目时有什么工作,当某些东西=某个东西时,单个结果会在我的html页面中打印到屏幕但是当我改变查询以便它返回多个结果时代码似乎失败了没有任何错误。

这是一个示例查询我试图在下面的示例javascript代码中工作,但它返回一个javascript错误。我知道查询很好,因为它可以在这里测试。

FQL SQL查询的测试页 https://developers.facebook.com/docs/reference/rest/fql.query/

示例查询 SELECT name,pic_square,profile_url FROM user WHERE contains('sam roberts')

以上工作示例中上述查询重新验证时出错。

SCRIPT1006:预期')' facebook_2.html,第29行角色95

这是我的工作示例,它只检索一行数据,你可以运行它但它需要在web服务器上。如果你有任何建议请告诉我,我真的需要它在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>

感谢您的光临。

1 个答案:

答案 0 :(得分:0)

尝试使用“SELECT name,pic_square,profile_url FROM user WHERE contains('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>