Facebook Graph API - see which of a user's friends of friends also have my app installed - facebook

Would it be possible to have an app that returns the friends of friends of the current user that have the app installed? I understand that this may be impossible due to privacy issues, but is there not some sort of requirement that can be imposed when the app is installed to make this information public to everyone and so to the current user?
EDIT:
In fact, users will be entered into my own database so what I really need to be able to do is search through all of a user's friends and for each one query whether they have any friends who match a name/id in my database.

Nope, apps can only access information for friends of the current user, but not for friends of those friends again.
Otherwise, the “operating distance” of an app could be quite huge, without people even knowing what way an app was able to get access to their information (or that it even did get access at all) – look at it this way:
If you do not want to generally disallow apps to access some of your info when friends are using them, because it has some (social) benefits from your standpoint, but you have this weird guy/girl amongst your friends, who’s using sh*tloads of apps and giving them friends-permissions all the time … well, no problem, unfriend him/her, and all’s well. But now let’s say, that guy/girl/dude/whatever is not directly friends with you, but only with your younger brother (who you’re FB friends with in this scenario, of course) – you’d have to actually unfriend your brother for this to stop … and, not knowing your little brother (or whether you even have one) – I’d still guess this would not be what most Facebook users would want.

Related

Is Facebook now anti-social, or is there hope for connecting users with their friends via API?

My latest project has (had) a requirement for the user to invite their friends to their online service. I discovered that, apparently, as of April 2015 with the new v2.0+ Facebook Graph API, you cannot actually get a list of friends for the user, unless those friends are already subscribed members of your app.
The scenario:
My app is a web service that lets the user collaborate on research work in a private group online. The user needs to
look up their list of friends,
set permissions their friend will have in the group, and
send them an invitation both join the service, and the specific group. (using a unique, one-time use link tied to each recipient)
The user would (ideally) receive an invitation with a specific link for them to not just become a subscriber of said online app, but specifically to join the group they were invited to (i.e. not just a generic "hey, check out this app" type of invitation).
The expectation:
The user doesn't care whether their friend is already a member of "MyApp.com". They expect to simply look up their friends just like they do today from their phone when they connect it to Facebook (makes all contacts available, regardless of whether those friends connected their Facebook to their phone, respectively). Likewise, compare inviting members to your Google docs, for example: look up your contact, set permission, send invite - so easy. Users demand this UX simplicity today and do not distinguish or care whether they are dealing with email, Facebook, Twitter contacts, whatever.
The problem:
The entire point of a social network is to be, well, social. If the Graph API only lets my app access friends that are ALREADY users of my app, it completely defeats the entire purpose - it cuts my user off at the knees, kills UX, no more ability to actually contact their own friends. My understanding is Facebook made this change to prevent developers from spamming users, and I get that, I completely support that. HOWEVER, my company and my app are not the ones that are trying to invite friends for it's own purposes, it is the USER and THEIR OWN friends that THEY have the right to access and converse with for their purposes (or so you'd think). Beyond just friends list, even if I had that, I think there are additional hurdles and limitations with posting messages to friends, even private (not wall) messages, which again would be anti-social.
The Question:
Am I understanding Facebook limitations properly, and if so, what is the work-around? I'd be ok with such an API being locked down until you pass a review that proves you aren't spamming users, but I did not see such an option.
Facebook supposedly prioritizes users over developers, and these changes were made because if the user is not comfortable with privacy (don't spam my friends), then they wont be users any longer, and that obviously affects developers and Facebook. OK, but did they not realize that by locking it down this extreme just killed UX for the user in legitimate scenarios? And to my original point, not just a little, but paramount - the result quite literally is that on April 30, 2015, Facebook became anti-social. Surely this is not inline with their mission. Surely there is a better approach.
If your app is not a game (which I assume), the only viable option would be the Message Dialog as desribed at
https://developers.facebook.com/docs/apps/faq#friend_invite
If your app is not a game and has a mobile or web presence:
You can also use the Message Dialog on iOS and Android, or the Send Dialog on Web. These products let a person send a message directly to their friends containing a link to your app. This type of message is a great channel for communicating with a smaller number of people in a direct way. The Message Dialog and the Send Dialog both include a typeahead which lets the person easily select a number of friends to receive the invite.
You might also find App Invites useful but I beleive it's only for iOS and Android apps and might not exactly fit your use case:
https://developers.facebook.com/docs/app-invites
App Invites are a content-rich, personal way for people to invite
their Facebook friends to a mobile app.

Facebook APIs, Friends permission, rationale and limitations

Looking at this page
https://developers.facebook.com/docs/reference/login/extended-profile-properties/
it seems that a Facebook users can allow an application to access pretty much everything about their friends (including notes and photos); this seems really strange to me and I am wondering if there is any limitation. If user A decides to share some pictures just with his close friends and one of this close friend (user B) uses the App XYZ that requires friends_photos permissions, pictures of user A at some point can be viewable by all the user of the App XYZ.
Is this exactly what happens or there is any kind of limitation?
You might say that user B could anyway publish the pictures of user A, for example on flickr, even without using the app XYZ but I think the case is very different, if there is a third-party between, the risk of loosing the control on the content is much higher.

Can a Facebook app post the same message at the same time on 100K users connected to it?

I am developing a web App for users who want to post the exact same thing on a given time on their own Facebook wall to make a message viral. Of course, considering they granted my app the permission to do so and signed up specifically for that matter. Also, the frequency of such a blast message would be rare, no more than once or twice a week.
I would like to know if anyone has any experience in doing this and what the limitations are since I can't find them on Facebook's developer support.
This type of behavior is discouraged by the Facebook ToS. Further, in order to publish to a user's feed you need to have a current access token for that user. If they are currently connected and using your app, you have access to those tokens and publishing should be possible but very well might get your app banned for ToS violation.

Facebook mutual_friend_count wrong?

I would like to know if anyone else has experienced this problem...
Facebook's count of mutual friends is off by 1. One too much. But not for all friends. I've tested this through my app where the fetched mutual_friend_count does not correspond to the number of mutual friends in the fetched array.
Further I have been checking this manually. By going to a FB-profile and literally counted our mutual friends. This also shows that we have one less mutual friend than the number Facebook is displaying in the "Mutual Friends" section on a friend's profile.
This does not apply for all my contacts on Facebook. Some profiles are displaying the number of mutual friends corresponding to the actual number of mutual friends.
But this do posses a problem if you are building an application/wesite/facebook app etc. that somewhat relies on the mutual_friend_count.
Can anyone confirm this? Is this a bug?
Or is it some kind of setting that some users can avoid being shown in the mutual friend section, but is still counted...?
I've been doing some work with mutual_friendsand I figured I'd give my 2-cents on what I've learned on this issue, which may or may not correspond to whats not working on yours.
Documentation for mutual_friends via Facebook Graph API is here
From the docs:
The user in the request and the session user must both have granted user_friends permission to the app.
This is a common mistake I was making. Even if you have mutual friends between users, if the friend has not given permission to the app, then you can't get their picture/name or any info on them, they simply appear in the total_count parameter.
If you want to call this endpoint on behalf two app-users who are not friends, then you must provide the appsecret_proof parameter along with the user access token when making the request. This means you must call this endpoint from your server.
This is also very important. If the two users aren't friends, then this endpoint will silently fail you providing NOTHING even though they have mutual friends. In order to actually get the data for this scenario, you need to be calling the endpoint from your server, not your client. That means not your javascript webapp, not your android app and not your iOS app.
There are some additional edge cases, such as users not providing the mutual_friends permission to your app, among other issues but at least for me these were the main issues I ran into. I never had any off-by-one errors, so I can't confirm your bug.
I can confirm that the mutual friend count is reduced by 1 sometimes. I counted a few, and some are right, and others are 1 less then it should be. It could be a setting in the privacy tab, I'm sorry I'm not much help.

How to protect tagging apps from being disabled?

I tried making two-three tagging apps that creates photos like , What my friends are scared of, It has the name and the picture of my friends and it asks them if they want to post too.
but still somehow when my apps get viral, Facebook deletes it.
https://apps.facebook.com/job_checker/
here is my newest (test app)
You need to read the Facebook Statement of Rights and Responsibilities.
Point 5.9 "You will not tag users or send email invitations to
non-users without their consent."
Also read their examples and explanations on authentic tagging.
https://developers.facebook.com/docs/guides/policy/examples_and_explanations/photos/
Your app seems to do exactly what they are trying to prevent.