Skip to content

Instantly share code, notes, and snippets.

@kyktommy
Created July 22, 2013 05:34
Show Gist options
  • Save kyktommy/6051491 to your computer and use it in GitHub Desktop.
Save kyktommy/6051491 to your computer and use it in GitHub Desktop.
IOS - Social Framework Get Facebook Friend list
ACAccountStore *accountStore = [[ACAccountStore alloc] init];
ACAccountType *facebookAccountType = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook];
id options = @{
ACFacebookAppIdKey: @"403376439767549",
ACFacebookPermissionsKey: @[ @"email", @"read_friendlists"],
ACFacebookAudienceKey: ACFacebookAudienceFriends
};
[accountStore requestAccessToAccountsWithType:facebookAccountType
options:options
completion:^(BOOL granted, NSError *error) {
if (granted) {
// Return back logined facebook Account
ACAccount *fbAccount = [[accountStore accountsWithAccountType:facebookAccountType] lastObject];
// NSLog(@"%@", fbAccount);
// Do What you want...
// Request friend list
SLRequest *friendsListRequest = [SLRequest requestForServiceType:SLServiceTypeFacebook
requestMethod:SLRequestMethodGET
URL: [[NSURL alloc] initWithString:@"https://graph.facebook.com/me/friends"] parameters:nil];
friendsListRequest.account = fbAccount;
[friendsListRequest performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) {
// Parse response JSON
NSError *jsonError = nil;
NSDictionary *data = [NSJSONSerialization JSONObjectWithData:responseData
options:NSJSONReadingAllowFragments
error:&jsonError];
for (NSDictionary *friend in data[@"data"]) {
NSLog(@"name: %@", friend[@"name"]);
}
}];
}
else {
NSLog(@"Not Granted %@", error);
}
}];
@kristersj
Copy link

Great pice of code. Can you tell me where I have to give another parameter so that I can read the friends "location" not only the name and id.?

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment