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 fie开发者_JS百科lds.
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?
精彩评论