FQL 查询未返回所有数据

Posted

技术标签:

【中文标题】FQL 查询未返回所有数据【英文标题】:FQL Query not returning all data 【发布时间】:2014-02-03 22:59:02 【问题描述】:

我是 Facebook 查询语言的新手,目前在从我的查询中获取数据以返回时遇到问题。我正在使用应用程序令牌向 Facebook 查询已授予应用程序权限的用户。以下是请求的权限、javascript 实现和返回的输出(经过清理以涵盖个人信息):

权限:

user_about_me、user_activities、user_birthday、user_education_history、user_friends、user_hometown、user_interests、user_likes、user_location、user_photos、user_religion_politics、user_work_history、email、read_friendlists

JavaScript:

FB.api(

    access_token : accessToken,
    method: 'fql.query',
    query: 'SELECT uid, name, email, pic, about_me, activities, books, education, hometown_location, interests, movies, music, political, profile_blurb, religion, tv, work' + 
        ' FROM user' +  
        ' WHERE uid IN (' + tokens + ')'
    ,
    function(response) 
        alert(JSON.stringify(response));
    
);

输出:

[
    "uid": ID,
    "name": NAME,
    "email": EMAIL,
    "pic": PIC,
    "about_me": null,
    "activities": "",
    "books": "",
    "education": [],
    "hometown_location": null,
    "interests": "",
    "movies": "",
    "music": "Disturbed, System of a Down, The Bouncing Souls",
    "political": null,
    "profile_blurb": null,
    "religion": null,
    "tv": "",
    "work": []
]

当我从我的站点或使用应用程序令牌通过 Graph API Explorer 运行查询时,将返回此数据集。但是,当我将 Graph API Explorer 与访问令牌一起使用时,我会收到更多信息(教育、家乡、宗教、政治、工作等)。

我的问题是我做错了什么,还是我不能使用应用程序令牌访问某些数据?文档 (https://developers.facebook.com/docs/opengraph/using-actions/#appaccesstoken - 应用程序访问令牌的其他功能) 让我相信我可以毫无问题地访问这些数据,看看应用程序是如何被授予权限的。任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

它明确表示there:

 “虽然应用访问令牌主要用于代表用户将信息发布回 Facebook,但可以使用应用访问从 Facebook 检索一组有限的信息令牌。”

用户的基本个人资料信息(ID、姓名、用户名、性别) 用户的好友及其 ID 用户授予您的应用的权限

所以它清楚地说您可以访问您可以通过用户访问令牌访问的所有内容app 改为访问令牌。

【讨论】:

我明白这一点,但第三个项目符号让我相信,如果获得许可,它可以访问该信息。 不,这只是说您可以通过查询/userid/permissions 来了解用户授予您的应用的什么权限... 好吧,这只是一个措辞不当的规定。这很好,我可以通过使用长期访问令牌来做到这一点,我只是想确保在切换到该方法之前我没有忽略某些东西。 CBroe 是对的,您需要使用用户访问令牌。

以上是关于FQL 查询未返回所有数据的主要内容,如果未能解决你的问题,请参考以下文章

使用FQL查询每个喜欢的对象

我如何使用 FQL 查询所有事件而不使用标记为 * 的可索引列

Gatsby graphql 解析器查询未返回所有字段

Graphql 查询结果在 UI 中正确返回,但数据在应用程序内显示为“未定义”

DynamoDb:扫描查询不会返回所有数据

查找公共事件的 FQL 查询