简体   繁体   中英

Fetch user interests and likes from Facebook along with images using Facebook iOS SDK

I want to fetch Facebook logged in user's interests and likes, which I'm able to do. But I'm not getting the image for pages liked by user or image for user interests.

The following code lets me fetch user likes:

 [FBRequestConnection startWithGraphPath:@"/me/likes"
                             parameters:nil
                             HTTPMethod:@"GET"
                      completionHandler:^(
                                          FBRequestConnection *connection,
                                          id result,
                                          NSError *error
                                          ) {
                          /* handle the result */
                          NSLog(@"User interests data: %@",result);
                      }];

which returns the following json data:

 data =     (
            {
        category = "Musician/band";
        "created_time" = "2014-08-08T05:09:56+0000";
        id = 9770929278;
        name = Adele;
    },
            {
        category = "Musician/band";
        "created_time" = "2014-08-08T05:02:09+0000";
        id = 5027904559;
        name = Shakira;
    }
 );

but, I want images for the pages liked. How can I do that? Any help would be appreciated. Thanks in advance.

You can execute 1 more Graph API call for each for the likes:

[FBRequestConnection startWithGraphPath:@"/me/likes"
                         parameters:nil
                         HTTPMethod:@"GET"
                  completionHandler:^(
                                      FBRequestConnection *connection,
                                      id result,
                                      NSError *error
                                      ) {
                      NSArray *data = [result objectForKey:@"data"];
                      for(NSDictionary *liked in data) {
                         NSString *page_id = [liked objectForKey:@"id"];
                         [FBRequestConnection startWithGraphPath:[NSString stringWithFormat:@"/%@/picture", page_id] parameters:nil HTTPMethod:@"GET" completionHandler:^(
                                      FBRequestConnection *connection,
                                      id result,
                                      NSError *error
                                      ) {
                                         // Get your profile pic here
                                      }
                         }];
                      }
                  }];

It will return the public details of Page. See documentation for more information.

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