-(void)getFacebookFriendsList
{
if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook])
{
ACAccountStore *store = [[ACAccountStore alloc] init];
ACAccountType *facebookTypeAccount = [store accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook];
//Replace with your Facebook.com app ID
NSDictionary *options = @{ACFacebookAppIdKey:kFacebookAppID, ACFacebookPermissionsKey:@[@"email", @"read_friendlists"],
ACFacebookAudienceKey:ACFacebookAudienceFriends};
[store requestAccessToAccountsWithType:facebookTypeAccount
options:options
completion:^(BOOL granted, NSError *error){
if(granted)
{
NSArray *accounts = [store accountsWithAccountType:facebookTypeAccount];
ACAccount *facebookAccount = [accounts lastObject];
NSURL *meurl = [NSURL URLWithString:@"https://graph.facebook.com/me"];
SLRequest *merequest = [SLRequest requestForServiceType:SLServiceTypeFacebook
requestMethod:SLRequestMethodGET
URL:meurl
parameters:nil];
merequest.account = facebookAccount;
NSURL *requestURL = [NSURL URLWithString:@"https://graph.facebook.com/me/friends"];
SLRequest *request = [SLRequest requestForServiceType:SLServiceTypeFacebook
requestMethod:SLRequestMethodGET
URL:requestURL parameters:@{@"fields":@"id, name, email, picture, first_name, last_name, gender, installed"}];
request.account = facebookAccount;
[request performRequestWithHandler:^(NSData *data,
NSHTTPURLResponse *response,
NSError *error) {
if(!error)
{
NSDictionary *list =[NSJSONSerialization JSONObjectWithData:data
options:kNilOptions
error:&error];
if([list objectForKey:@"error"] != nil)
{
// if error occured e.g. Invalid Auth etc.
}
else
{
[self.arrayFriendsList removeAllObjects];
NSArray *dictFbFriend = [list objectForKey:@"data"];
for (NSDictionary *dict in dictFbFriend)
{
NSDictionary *pictureDataDict = [[dict objectForKey:@"picture"] objectForKey:@"data"];
Contacts *objContact = [[Contacts alloc] initWithName:[dict objectForKey:@"name"]
andEmail:nil
andFirstName:[dict objectForKey:@"first_name"]
andLastName:[dict objectForKey:@"last_name"]
andGender:[dict objectForKey:@"gender"] andPhotoPath:[pictureDataDict objectForKey:@"url"]
andIsInstalled:[dict objectForKey:@"installed"] ? [[dict objectForKey:@"installed"] boolValue] : NO
andFacebookId:[dict objectForKey:@"id"]
];
[self.arrayFriendsList addObject:objContact];
objContact = nil;
}
NSSortDescriptor *descriptor=[[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES];
NSArray *descriptors=[NSArray arrayWithObject: descriptor];
self.arrayFriendsList = (NSMutableArray *)[self.arrayFriendsList sortedArrayUsingDescriptors:descriptors];
}
}
else
{
NSLog(@"Error%@", error);
// [progressHUD hide:YES];
}
dispatch_async(dispatch_get_main_queue(), ^{
[progressHUD hide:YES];
[self.tblFriendsList reloadData];
});
}];
}
else
{
NSLog(@"Grant Error:%@", error);
[progressHUD hide:YES];
UIAlertView *alertView = [[UIAlertView alloc]
initWithTitle:@"Error"
message:@"You need to set up Facebook account on the Settings App."
delegate:self
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alertView show];
}
}];
}
else
{
[progressHUD hide:YES];
UIAlertView *alertView = [[UIAlertView alloc]
initWithTitle:@"Error"
message:@"You need to set up Facebook account on the Settings App."
delegate:self
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alertView show];
}
}
स्रोत
2014-08-19 11:40:00
मैंने कोशिश की ऊपर मैं अच्छे दोस्त नहीं अपनी detalis डेटा शब्दकोश सरणी खाली है की केवल गिनती हो रही है? डेटा = ( ); सारांश = { "कुल_count" = 690; }; इस बारे में कोई विचार? –
उपरोक्त टिप्पणी के लिए कोई भी विचार एक ही समस्या हो रहा है? – python