i have user_friends permission when user authenticates and i tried a lot to get friends list from facebook
this is my call
/* make the API call */
new Request(
session,
"/me/taggable_friends" /*"/me/friendlists"*/ /*"/"+id+"/friends"*/ /*"/me/friends"*/,
null,
HttpMethod.GET,
new Request.Callback() {
public void onCompleted(Response response) {
/* handle the result */
Log.d(TAG, "friends list request response:" + response.getRawResponse());
}
}
).executeAsync();
i got friends list only with the account i have created the facebook id
if tried with another new account it just giving the count but NO DATA
can any one please help me
developers.facebook.com/docs/apps/changelog : "Friend list now only returns friends who also use your app: The list of friends returned via the /me/friends endpoint is now limited to the list of friends that have authorized your app"
Right now you can set Settings.setPlatformCompatibilityEnabled(true); and it will work but soon Fb will disable that.
Related
I am trying to fetch the friend list using the code below
GraphRequest request = GraphRequest.newMyFriendsRequest(
token,
new GraphRequest.GraphJSONArrayCallback() {
#Override
public void onCompleted(JSONArray array, GraphResponse response) {
// Insert your code here
}
});
request.executeAsync();
}
The response returned after code execution is
{Response: responseCode: 200, graphObject: {"data":[],"summary":{"total_count":461}}, error: null}
Persmission to access friends and public profile is granted on login time.
How can i fetch my friend list and their public emails/ facebook emails?
You'll only receive the friends whcih are also using your app, see
https://developers.facebook.com/docs/apps/upgrading#upgrading_v2_0_user_ids
/me/friends returns the user's friends who are also using your app
In v2.0, the friends API endpoint returns the list of a person's friends who are also using your app. In v1.0, the response included all of a person's friends.
And, no, there is no workaround in case you wanted to ask.
You can recive your friends list using graph-api call
/* make the API call */
new GraphRequest(
AccessToken.getCurrentAccessToken(),
"/me/friends",
null,
HttpMethod.GET,
new GraphRequest.Callback() {
public void onCompleted(GraphResponse response) {
/* handle the result */
}
}
).executeAsync();
But the limitation is
api required access token with user_friends permission
only return friends who are also given access permission to the same app you are
using
.
https://developers.facebook.com/docs/graph-api/reference/v2.5/user/friends
I want to get user's who is logged into my app friend list. So, I need to use this code to do that:
new GraphRequest(
AccessToken.getCurrentAccessToken(),
"/me/friends",
null,
HttpMethod.GET,
new GraphRequest.Callback() {
public void onCompleted(GraphResponse response) {
/* handle the result */
}
}
).executeAsync();
The problem is that I don't know what I need to write into onCompleted method to put friend list to array.
after the data comes to onCompleted() you can do something like this to see the structure of the json response,
Log.d("-#-", "graph response " + response.getJSONObject());
this gives the structure of the json object from there you can get the data.
Also i think your app needs to go through facebook submission as there is other permissions your app needs to get friends of a person
in android application :
i want to get a list of all friends of the person who login to my app , not only those who use the app ?
i use the following :
private void makeMeRequest(final Session session) {
// Make an API call to get user data and define a
// new callback to handle the response.
RequestAsyncTask request =new Request( session,
"/me/friends",
null,
HttpMethod.GET,
new Request.Callback() {
#Override
public void onCompleted(Response response) {
// TODO Auto-generated method stub
Log.e(LOG_TAG,"Members: " + response.toString());
}
}).executeAsync();
}
but the response returns empty list , although there are some apps that show person's friend list ,what can i do ??
It is not possible to get ALL friends with v2.0+, only with Apps created before end of April 2014 by using v1.0 of the Graph API. And it will only work until end of April 2015. See changelog for more information about the versions: https://developers.facebook.com/docs/apps/changelog
There is also invitable_friends and taggable_friends though, but they are reserved for Apps on facebook.com:
https://developers.facebook.com/docs/graph-api/reference/v2.1/user/invitable_friends
https://developers.facebook.com/docs/graph-api/reference/v2.1/user/taggable_friends
This may also be interesting for inviting friends: https://developers.facebook.com/docs/games/requests/v2.1
I want to get all the posts of my facebook account wall in android. I have got session but when I execute the below query then it gives an error.
new Request(fbSession,"/me?fields=posts",null, HttpMethod.GET, new Request.Callback()
{
public void onCompleted(Response response) {
ShowToast(response.toString());
}
}).executeAsync();
Error:
Active Access Token must be used to query information about the current user
Although I have an active session variable, which can retrieve my basic information
1) It means you don't have an access token or access token does not match the current logged in user.
2) You have an expired or non-working access token (perhaps left over from the last time you used the app?). You could try clearing that out and re-authenticating.
3)
if (state.isOpened())
{
new Request(fbSession,"/me?fields=posts",null, HttpMethod.GET, new Request.Callback()
{
public void onCompleted(Response response) {
ShowToast(response.toString());
}
}
).executeAsync();
}
for more info see below link:-
http://www.androidhive.info/2012/03/android-facebook-connect-tutorial/
https://developers.facebook.com/docs/android/getting-started/
I am using Facebook SDK 3.5 and i am a bit confused. If i use FriendPickerFragment (from their example) it populates the fragment with the list of friends, but I only want to have the JSON or list of GraphUser only.
Does anybody know how to get that information using the picker fragment. I don't understand how they get the data to populate the fragment.
This is how i can see what is selected from the populated list:
List<GraphUser> selectedUsers = friendPickerFragment.getSelection();
for (GraphUser selectedUser : selectedUsers) { System.out.println("selectedUser: " + selectedUser);
}
But how can i get the entire list(selected or not)?
Request request = Request.newMyFriendsRequest(
Session.getActiveSession(),
new Request.GraphUserListCallback() {
#Override
public void onCompleted(List<GraphUser> users, Response response) {
System.out.println("Users: " + users);
}
});
request.executeAsync();
Just make a graph request to me/friends. The SDK already provides you with a convenience method in Request.newMyFriendsRequest