Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Use Facebook API to list group members' join date and inviter

I can use the Facebook Graph API to get a list of group members. The simplest way to do this is to go to the Graph API Explorer and do a GET request of the form {group_id}/members. Is there a way to similarly obtain the members' join date and who they were invited by?

The relevant Graph API doc doesn't seem to mention it. But I know the information is stored by Facebook because it is possible to list all of the group members and their inviters through Facebook itself. Is there a way to get this information through the API?

EDIT: Nothing in the FQL group or group_member API either.

like image 484
David G. Avatar asked Nov 11 '22 15:11

David G.


1 Answers

While this information is not available on the API, you can get it by using Selenium to scrape the members page. First, instantiate a driver and use it to get the members page:

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

Then, look for the member information:

containers = driver.find_elements_by_tag_name('td')

Finally, iterate through the web elements, extracting text and parsing resulting list for joined date information:

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

You'll still have to map this information to the user ids, which you can do by looking for another element in the container and using 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`
like image 195
Mars Williams Avatar answered Nov 15 '22 04:11

Mars Williams