Facebook extended permissions and interested_in property - iphone

Which Facebook extended permissions makes the interested_in property of friends show up?
I've tried using friends_about_me, friends_relationship_details, and friends_relationships.
Which one is interested_in located? I'm using the Facebook SDK for iOS devices by the way.
If not enough are found, is it because I'm doing something wrong or is it the individual users' settings are set up that way? On the Facebook profile page it might show Interested In: Women while the Graph API query might not show it even with the above extended permissions granted.
Also when I try it with a query string ID?fields=interested_in, I get nulls, except for a couple.

The permission is "friends_relationship_details". The query you are showing above is actually correct. The one thing you are forgetting is that ultimately each use can set what data their friends can share about them. The default settings for which information friends can share does NOT allow friends to grant an application access to "interested in and looking for" and "religions and political views". So in short, your query is correct and you are getting all the information you are allowed to access.
Most Facebook users have not changed these settings, meaning that only the users that have explicitly allowed friends to share interested in information will show up in your query. This will be almost nobody which is why you only have one result in your query.
To see what I am talking about go to: http://www.facebook.com/settings/?tab=privacy, click the "Edit your settings for using applications, games and websites." link, then click "Edit Settings" in the "Info accessible through your friends" section. Here you will see what permissions you allow your friends to share. There is no override for this. If you don't want the information shared, your friends can't force you to share it.
Sorry for the bad news.

Related

Trying to get the privacy settings for an app using Facebook Graph API

I am using the Javascript SDK to log in to facebook and request 'publish_actions' permissions for my application. I have everything working and can post photos to my application no problem. I use my own dialog to let them set a comment and set privacy setting to "Just Me", "Friends" or "Public".
When a user first attempts to connect to facebook from my web app, they are asked to set the privacy setting level when posting photos (Just Me, Friends, Public, etc). The issue I am having is that I want to be able to get that information later when the user posts a photo through my app so I can see what privacy setting are available for my dialog. For example:
A user logs in to my app and for publish_actions chooses "Friends" as the privacy setting. Later on if they are running my app, I give them a choice to pick "Only Me", "Friends" or "Public" but I need to know that "Public" is not allowed for that user. Currently if they choose public it will default back to "Friends" since that is what was picked when they connected through my app initially.
I have found examples of accessing the permissions in the privacy_setting table using FQL but not for a particular app (also that looks to be going away with versions after 2.0 according to https://developers.facebook.com/docs/reference/fql/privacy_setting/.
I have not been able to find an end point in the Graph Api to provide the apps privacy setting for a given app.
Would appreciate if anyone knows how to get this.

Is there any way to retrieve a user's "Apps others use" Facebook privacy settings?

Background:
After thinking that I had managed to successfully navigate Facebook's gauntlet of privacy settings, I have fallen prey to yet one last unexpected hurdle.
My Facebook app allows users to post content to Facebook (status updates, photos, etc). It also allows users to browse and view the same content of others who are users of the same app. Even if two users (that are friends) have:
granted the necessary permissions (read_stream, user_photos, friends_photos, etc) to the app
successfully posted content with the sufficient visibility to Facebook through the app
the ability to see each other's posted content on Facebook itself
It is still possible that they can't read others' content through the app due to the "Apps others use" privacy setting which restricts what information others can see through the Facebook platform, despite that the user has specifically granted access to the app for that content (ugh).
This little quirk makes for a terrible user experience, so I would at least like to be able to detect that a user has this limitation in place an inform him/her accordingly.
My searches through the FQL tables have come up fruitless, but I'm holding out against hope... Is there a (undocumented?) way to retrieve the "Apps others use" settings for an authorized user via Facebook API method?
Does the page http://nakedsecurity.sophos.com/2013/04/03/how-to-stop-your-friends-facebook-apps-from-accessing-your-private-information/ give you some help?
For going to that, is like in the image : Go to the gear icon at the top right > Account Settings > Apps > Apps others use and then customize it.

Getting a permission to see information for all the users in Facebook

When I use the search box in Facebook and try to find a user, it shows me a list of all the matching users while I'm typing, along with additional information on them, such as the city they live in, and when I enter their wall/timeline, I can see more information. However, when I use Facebook Graph API to search for users, I get only basic information, and must have a permission for each user in the results to get more. Why is that? Is there a way to be able to see more information for all the users without having a permission for each of them?
[…] and when I enter their wall/timeline, I can see more information.
Only if they have the visibility of their profile to public, though. Otherwise, you won’t see much on a user’s profile if you are not friends with them.
However, when I use Facebook Graph API to search for users, I get only basic information, and must have a permission for each user in the results to get more.
Why is that?
Because, naturally, you as a normal user browsing through a couple of search results on Facebook is something completely different than offering an app the capability to access all that information for every Facebook user from ID 1 to 99999999999, and then build some huge data mining thing upon it … I think that should be quite obvious.

Any way to eliminate "Access my basic information" from Facebook Connect?

I'm using Facebook connect to let users import some photos.
The only permission I've requested is user_photos but facebook adds the default one Access my basic information at the top which says they are also giving me access to their name, list of friends, and "any other information I've shared with everyone".
I really only want access to the photos, and I think the "basic information" box will scare off some users who don't want to give access to this. Is there any way to get rid of that part?
No, you can't exclude it because, it is the basic information of the user that is needed by an application to work and as you said yourself, a user will only share "any other information I've shared with everyone".
The information you'll get with the basic information is already shared by the user to everyone else.
Unless you believe that you are not part of that everyone.
You can have whatever is public.

facebook graph api friends_religion_politics permission problems

I'm working with facebook graph's api trying to get the users religion and political field. I have the friends_religion_politics permission set and signed in but when I test the application on my account I only get one of my friends religion and political fields.
The general inquiry I'm making is:
https://graph.facebook.com/me/friends?access_token=%3Ctoken%3E&fields=religion,political
Confusingly enough when I run just that I get 4 friends religion and political views but still far from all of theres.
Am I doing something wrong on the permissions or is it something like the default privacy settings doesn't give apps acess to those fields?
Facebook privacy settings allow users to keep their friends' apps from retrieving lots of information, including political and religious views. This is why sometimes they provide the information in their profiles and yet apps still do not fetch that data.
You can find this by going to your Facebook privacy settings (click the downward-pointing triangle in the upper right corner and then select "Privacy Settings.") Click "Edit Settings" next to "Ads, Apps, and Websites." One of the settings you can edit is titled "How people bring your info to apps they use." This setting allows people to check or uncheck lots of boxes depending on what information they are willing to share with apps their friends use.
It seems that a lot of people choose not to share their religious and political views with apps. But it seems your method of fetching what data is available is the correct method.
I checked with my friends and informations are coming correctly ...those who provided that particular information...
using graph api
If you are getting the values of your four friends then it means your code is correct working. Facebook fetches the information from its tables if the information exists. IF you are not getting the values from other friends, then it means they have not provided this information in their profiles. You just check their profiles.. Your code is wrong if they have information in their profiles but you are not getting.
I am not sure that the access token has necessary permission to get political views. The fact that you are getting 4 friends whose political views you can see, does not mean that the permission setting is working properly.
When I queried my friends political view from Facebook reference api site, I was able to get political views of two of my friends. May be those two friends have customized their privacy setting to allow everyone to see their political view. (By the way the political opition of both those friends were "political": "Not Interested In Politics (Nil)",
).
I will create a test case. In case, if you have a friend to help you with, you can ask him to open up his political view and then query again. And also ask one of your friend whose political view is already visible to your application, to see if he did customize his privacy setting.
Also I hope that you have an expiring access token. May be you have an offline_access permission and this creates an long living access token. You should try invalidating your token if you think this could be your problem.
I've tried to get at my friends religion, too, but never get a value for the field.
I am of course having the friends_religion_politics permission.
Tried both the Graph API and a FQL query.
https://graph.facebook.com/me/friends?access_token=xxx&fields=religion,political
-> just retunrs the ids of friends, nothing else.
Is there an issue with the API?