简体   繁体   中英

User friends are showing empty list in Facebook Sdk Graph Api v2

I have updated the version for the graph Api to v2 . Now the issue I am facing is,when I executed the following code It shows me empty array :

FBRequest *friendsRequest = [FBRequest requestForMyFriends];
        [friendsRequest startWithCompletionHandler:^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *result, NSError *error) {
            NSArray *friendshipid;
            NSString *username;
            if (!error) {
                NSLog(@"friends = %@", [result description]);

            }
            if (completion) {
                completion(friendshipid, username, error);
            }
        }];
    }
}

I got to know that facebook sdk had some changes for the user friends and now It has to take the permission for the user_friends , but I have no idea where to make changes to ask for Permission for user_friends

You can use the given code snippet. Here, i have used the Classes of Social Framework to get the Facebook friends . Hope it will work for you.

- (void) connectWithFacebookFriends
{
    ACAccountStore *accountStore = [[ACAccountStore alloc] init];

    ACAccountType *accountTypeFacebook = [accountStore accountTypeWithAccountTypeIdentifier:
     ACAccountTypeIdentifierFacebook];

    NSDictionary *options = @{ACFacebookAppIdKey: kFaceBookId,
                              ACFacebookPermissionsKey: @[@"user_friends"],
                              ACFacebookAudienceKey: ACFacebookAudienceFriends
                              };

    [accountStore requestAccessToAccountsWithType:accountTypeFacebook
                                          options:options
                                       completion:^(BOOL granted, NSError *error)
    {
        if(granted) {

            NSArray *accounts = [accountStore
                                 accountsWithAccountType:accountTypeFacebook];
            ACAccount* facebookAccount = [accounts lastObject];
            NSString *acessToken = [NSString stringWithFormat:@"%@",facebookAccount.credential.oauthToken];
            NSDictionary *parameters = @{@"access_token": acessToken};

            NSURL *feedURL = [NSURL URLWithString:@"https://graph.facebook.com/me/friends"];

            SLRequest *feedRequest =
            [SLRequest requestForServiceType:SLServiceTypeFacebook
                               requestMethod:SLRequestMethodGET
                                         URL:feedURL
                                  parameters:parameters];

            [feedRequest performRequestWithHandler:^(NSData *responseData,
                                         NSHTTPURLResponse *urlResponse, NSError *error)
             {

                 NSString * str = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
                 DLog(@"%@",str);


                 NSLog(@"Request failed, %@", [urlResponse description]);
             }];
        } else {
            NSLog(@"Access Denied");
            NSLog(@"[%@]",[error localizedDescription]);

        }
    }];

}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM