使用Facebook API列出组成员的加入日期和邀请者

时间:2014-01-07 14:48:52

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

我可以使用Facebook Graph API获取群组成员列表。最简单的方法是转到Graph API Explorer并执行{group_id}/members格式的GET请求。有没有办法同样获得成员的加入日期以及他们受邀的人?

relevant Graph API doc似乎没有提到它。但我知道这些信息是由Facebook存储的,因为可以通过Facebook本身列出所有组成员及其邀请者。有没有办法通过API获取此信息?

编辑:FQL groupgroup_member API中没有任何内容。

2 个答案:

答案 0 :(得分:1)

虽然API上没有此信息,但您可以使用Selenium来抓取成员页面。 首先,实例化一个驱动程序并使用它来获取成员页面:

driver.gethttps://www.facebook.com/groups/your group number/members

然后,查找会员信息:

containers = driver.find_elements_by_tag_name('td')

最后,遍历Web元素,提取文本并解析结果列表以获取连接日期信息:

member_info = container.text.split('\n')
name = member_info[0]
member_since = member_info[-1]

您仍然需要将此信息映射到用户ID,您可以通过查找容器中的其他元素并使用REGEX来执行此操作。

`def parse_id(self, container, name):
        hovercard = container.find_element_by_link_text(name).get_attribute('data-hovercard')
        regex_id = re.compile('php\?id=(\d*)')
        member_id = regex_id.search(hovercard).group(1)
        return member_id`

答案 1 :(得分:0)

它确实由Facebook存储并检索以用于内部API。但是对于Graph API,无法获取此信息。

group_member的所有可用字段都列在SELECT column_name FROM column WHERE table_name = "group_member"