0

私のアプリでは、写真/投稿にタグを付ける必要があります。これはソーシャルフレームワークを使用して可能ですか、またはFacebook-sdkこれに使用する必要がありますか?. また、ソーシャルフレームワークから友達リストを取得できますか? これを達成するための助けはありますか?

4

1 に答える 1

2

写真や投稿へのタグ付けは iOS 用 FacebookSDK を使用してのみ行うことができますが、ソーシャルフレームワークと 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");
                                    }
                                }];

}
于 2013-10-29T07:08:48.943 に答える