【问题标题】:How to get username of an user with fql?如何使用 fql 获取用户的用户名?
【发布时间】:2014-06-22 16:42:37
【问题描述】:

我想在一个组中获取所有用户的姓名和 Facebook 用户名。以下查询应该执行此操作,但它不返回用户名。

SELECT name, username  from profile where id in (SELECT uid FROM group_member WHERE gid = 'GROUP_ID')

即使几乎所有用户都有用户名,但结果中每个用户的用户名字段都为空。

我认为 Facebook 不会因为隐私问题而隐藏此信息,因为我可以使用 http://graph.facebook.com/uid 获取带有图形 api 的用户名。

【问题讨论】:

  • 用户名在 api v2.0 中不存在

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


【解决方案1】:

这仅适用于 Graph API v1.0,该版本将于 2015 年 4 月 30 日弃用。使用 v2.0,不再可能获取 username 字段。

https://developers.facebook.com/docs/apps/changelog#v2_0_graph_api

/me/username 不再可用。

【讨论】:

    【解决方案2】:

    用户名和姓名仍然可以使用 fql 检索。但我认为您不能简单地通过使用“来自 groupmember 的 uid”之类的一般查询从组中获取名称,这是因为 Facebook 保护了 Facebook 用户的名称。但是,如果该 Facebook 用户对您的帖子发表了评论,您可以获得他们的姓名/用户名。 这是获取 facebook 用户名/用户名的 fql 查询:

    {
     comments = "SELECT actor_id, target_id FROM stream WHERE post_id=\"" + postid + "\"", 
     commenters = "SELECT username, name FROM profile WHERE id IN (SELECT actor_id, target_id FROM #comments)",
    }
    

    如果您是组的管理员,当然您可以简单地使用 fql 获取 post_id,然后使用 post id 获取名称/用户名。 希望这可以帮助您解决问题。

    【讨论】:

      猜你喜欢
      • 2013-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-04
      • 1970-01-01
      • 1970-01-01
      • 2017-03-10
      相关资源
      最近更新 更多