使用FB.data.query没有得到任何回复

时间:2011-04-24 23:09:39

标签: facebook facebook-graph-api facebook-fql facebook-javascript-sdk

我试图通过以下方式获取用户性别和出生日期:

   FB.api('/me', function(response) {
                var query = FB.Data.query('select birthday, gender from user where owner={0}',
                       response.id);

                query.wait(function(rows) {
                    console.log(rows[0].birthday);
                    console.log(rows[0].gender);
                    alert(rows[0].birthday);
                    alert(rows[0].gender);
                });
            });

但是,我在控制台上看不到任何内容,也没有警报。这是为什么?

1 个答案:

答案 0 :(得分:1)

如果您想要经过身份验证的用户(/ me)的生日和性别,您可以像这样访问用户对象:

FB.api('/me', function(response) {
    console.log(response.birthday);
    console.log(response.gender);
    alert(response.birthday);
    alert(response.gender);
});

如果您希望生日和性别来自用户表,则无法使用“性别”字段,因为它不存在。改为使用“性别”。

FB.api('/me', function(response) {
  var query = FB.Data.query('select birthday, sex from user where uid={0}', response.id);

   query.wait(function(rows) {
         console.log(rows[0].birthday);
         console.log(rows[0].gender);
         alert(rows[0].birthday);
         alert(rows[0].sex);
        });
});

由于您尝试访问不存在的字段,因此未收到任何回复。