Scraping emails from private Facebook groups - facebook

I want to scrape emails of the members of a particular group on Facebook but I cannot see them (the group is private) because I am not a member of the group and I would not accepted anytime soon.

This does not seem possible as private groups on Facebook ensure the confidentiality of their members. With Facebook under constant pressure to maintain user privacy I doubt this will become possible any time soon without joining the group.

Related

Yammer API get list of all users in All Company

https://www.yammer.com/api/v1/users/ does not work and only gives me users in the current user’s Yammer network. I need every single user.
If All Company had an ID I could use https://www.yammer.com/api/v1/users/in_group/
Moreover, https://www.yammer.com/api/v1/groups does not seem to have All Company within it
On the backend, All Company is not actually a group. It behaves kind of like a group in the UI, but with notable difference like users not being able to leave All Company. This and other difference betray the fact that the Yammer backend does not in fact treat All Company as a normal group.
Hitting the users.json endpoint will give you data about all users in the users' current network. This list of users is the same as the list of users who are "members" of the All Company group for that network.

Missing group members when retrieving group members via Facebook API

I am trying to retrieve the list of members of a group via the Facebook API. It works in principle, but it seems that there's a discrepancy between the number of members as stated on the group page (when accessed via the browser) and the number of members retrieved via the Facebook API.
Steps to reproduce:
Consider for instance the following group: https://www.facebook.com/groups/141499479690556
As of right now, Facebook states that there are 1165 members in that group.
Now, go to the Graph API explorer (https://developers.facebook.com/tools/explorer) and access /v2.10/141499479690556/members?limit=1500 (I set the limit well above the number of group members here to make sure they are all in there).
As of right now, the returned data array only contains 1139 members.
Where are the missing 26 members?
And yes, I am absolutely sure noone "blocked" me or anything. Anyway, I tested this on several groups, even some I have never interacted with. There always appears to be a discrepancy, and the bigger the group, the bigger the discrepancy. In groups with over 5000 members, I have seen discrepancies of 100-200 people.
At first I thought there was a problem with paging (I originally used a smaller limit and used paging), but as you can see, the same problem appears even when the limit is high enough for all members to be returned at once.
https://www.facebook.com/help/186433704739124
If you're seeing a total number of members that's different from the real number, it's possible that some people in the group now have inactive accounts.
When someone's account is inactive, it means that person can't be seen or found on Facebook. Even though he or she is still counted as a group member, they won't appear in the group anymore. An account can become inactive if someone chooses to deactivate it or if the account is disabled by Facebook.

Checking if a user is a member of a specific facebook group (2016)

It appears there was a big update to the facebook api a year ago and a lot of the info online is inaccurate because of it. I'm trying to create a website that provides additional function for members of a specific facebook group; if a user is not part of a specific group I don't want them in it. Some groups may have more than 5k users but if I have to settle for less, so be it. I'm using the php sdk and have successfully made an initial api call with general user information.
Administrators of the group WILL be able to log in, but apparently Facebook isn't approving the "user_groups" permission (?) https://stackoverflow.com/questions/31171082/check-if-user-is-a-member-of-a-specific-group-using-facebooks-javascript-sdk
I found this but I'm not sure how to make it work. Facebook Graph - Possible To Check If A User Is A Member Of A Group w/o user_groups?
I'm using the graph api explorer and I can get a partial list of the groups I'm in but it's nowhere near complete (it displays 4 out of like 20). My thought was that if I can get a full list of members in a group that I could just do an [if user is in userlist then]
What would you do here?
As far as I understand there is no way to do this without some caveat where it won't work (when you have more then 5k members). It also causes you to create a copy of the members list, instead of when a user wants to access the group.

Given a facebook ID, what metrics can I use to mark the profile as fake?

I am running a photo contest on my facebook page via a third party app (shortstack).
The grand prize is supposed to be given to the person with maximum number of Votes.
Each vote is mapped to a facebook ID, which is available to me via shortstack. The problem is that there are too many votes from fake profiles, I inferred this by manually looking at number of friends of the facebook profiles of people who had been voting (I have their facebook Ids).
I am also aware that I can extract out only the publicly shared information of these users via the opengraph.
In short, how should I go about marking all the votes in two categories "Genuine" and "Fake", after subjecting all the IDs to a certain logic that uses information out of the publicly shared user info for that Id?
As an example, let us assume number of friends a particular profile is the only metric that would be used to identify if a profile is fake or not. Now there would be that magical benchmark (number of friends) above which a profile can be considered genuine and below which all the profiles can be considered fake, although there could be some fake people above this benchmark and some genuine fellas below it. In our case, these metrics would also consist of other information a user shares via the opengraph, values and patterns of these parameters being different for genuine and fake users. The point is that I am sure that eliminating fake profiles is very common problem faced by people conducting contests,as they would like to choose the winner on basis of contestant's ability to spread the brand to genuine users. So, there must be people out there who have invested their time inthis, and it would be awesome to get some know-how on this.

How can anonymous users exchange presence information with valid users on Jabber (Ejabberd)

I am working on a social network that should allow members to chat with visitors on the site. The concept is simple.
Users who have registered signup get their own account with rosters
When a visitor comes to the home page of the social network, he can see some of the online members of the community
Now he should be able to initiate a chat with them, by clicking on their name.
I have already got members to chat with their roster mates. My question is, how can I get an anonymous user to chat with a member and exchange presence info with him?
I have successfully managed to create anonymous accounts, members accounts and even send messages from an anonymous user to other members. But I cant get presence information from anonymous-user to member or vice versa?
BTW, the chat is JS based.
You're trying to break the XMPP model. Presence is an opt-in permission based system. You ask me if you can see my presence, I say yes. Generally my client will then automatically ask you if I can see your presence, and your client says yes. That's what the roster is -- yes's and no's to presence subscription requests.
You can make chat rooms (MUC, multi user chat) that are anonymous, as well as do presence in them. It's not a roster, though. It's the closest to what you're describing without going into crazy-land with pubsub, and I don't know if you could even bend that tool far enough to have anonymous roster entries.