我想让所有用户在一个组中使用他们的名字和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的用户名。
答案 0 :(得分:0)
这仅适用于Graph API v1.0,将于2015年4月30日弃用。使用v2.0,将无法再获取username
字段。
请参阅https://developers.facebook.com/docs/apps/changelog#v2_0_graph_api
/me/username
已不再可用。
答案 1 :(得分:0)
用户名和名称仍然可以使用fql检索。但是我不认为你可以通过使用像groupmember这样的一般查询从组中获取名称,这是因为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获取名称/用户名。 希望这有助于解决您的问题。