是否可以使用ios社交框架标记帖子/照片?

时间:2013-10-29 05:14:55

标签: iphone facebook-sdk-3.0

在我的应用中,我需要标记我的照片/帖子。这可能是使用社交框架还是我应该使用Facebook-sdk?我也可以从社交框架中获取好友列表吗?有任何帮助实现这一目标吗?

1 个答案:

答案 0 :(得分:2)

只能使用面向iOS的FacebookSDK标记照片或帖子,同时使用SocialFramework和面向iOS的FacebookSDK获取好友列表。

您可以使用此代码使用SocialFramework获取好友列表。

- (void)getFbFriends
{
    ACAccountStore *store = [[ACAccountStore alloc] init];

    ACAccountType *facebookTypeAccount = [store accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook];
    NSDictionary *options = @{
                              ACFacebookAppIdKey: facebookAppId,
                              ACFacebookPermissionsKey: @[@"email"],
                              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,picture,first_name,last_name,gender"}];

                                        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
                                                {
                                                    NSMutableArray *FBFriends = [[NSMutableArray alloc] init];
                                                    [FBFriends addObject:[userInfo objectForKey:@"id"]];
                                                    NSLog(@"friends %@", list);
                                                }
                                            }
                                            else
                                            {
                                                NSLog(@"Error");
                                            }

                                        }];
                                    }
                                    else
                                    {
                                        NSLog(@"Error grant access");
                                    }
                                }];

}
相关问题