Как получить подписчиков и подписчиков с помощью Twitter/Social framework в iOS

Как получить всех фолловеров и фолловеров из аккаунта пользователя в Твиттере.

Я получаю подписчиков и количество подписчиков. Однако мне нужны имена пользователей подписчиков и следующих пользователей.

Вот мой код.

- (void) getAccountInfo
{
    ACAccountStore *accountStore = [[ACAccountStore alloc] init];
    ACAccountType *accountType = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];

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

            NSArray *accounts = [accountStore accountsWithAccountType:accountType];

            // Check if the users has setup at least one Twitter account

            if (accounts.count > 0)
            {
                ACAccount *twitterAccount = [accounts objectAtIndex:0];

                // Creating a request to get the info about a user on Twitter

                SLRequest *twitterInfoRequest = [SLRequest requestForServiceType:SLServiceTypeTwitter requestMethod:SLRequestMethodGET URL:[NSURL URLWithString:@"https://api.twitter.com/1.1/users/show.json"] parameters:[NSDictionary dictionaryWithObject:twitterAccount.username forKey:@"screen_name"]];
                [twitterInfoRequest setAccount:twitterAccount];

                // Making the request

                [twitterInfoRequest performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) {
                    dispatch_async(dispatch_get_main_queue(), ^{

                        // Check if we reached the reate limit

                        if ([urlResponse statusCode] == 429) {
                            NSLog(@"Rate limit reached");
                            return;
                        }

                        // Check if there was an error

                        if (error) {
                            NSLog(@"Error: %@", error.localizedDescription);
                            return;
                        }

                        // Check if there is some response data

                        if (responseData) {

                            NSError *error = nil;
                            NSArray *TWData = [NSJSONSerialization JSONObjectWithData:responseData options:NSJSONReadingMutableLeaves error:&error];


                            // Filter the preferred data

                            NSString *screen_name = [(NSDictionary *)TWData objectForKey:@"screen_name"];
                            NSString *name = [(NSDictionary *)TWData objectForKey:@"name"];

                            int followers = [[(NSDictionary *)TWData objectForKey:@"followers_count"] integerValue];
                            int following = [[(NSDictionary *)TWData objectForKey:@"friends_count"] integerValue];


                        }
                    });
                }];
            }
        } else {
            NSLog(@"No access granted");
        }
    }];

}

person renis    schedule 01.05.2014    source источник
comment
Этот код не работает, потому что приложение аварийно завершает работу при выполнении [accountStore requestAccessToAccountsWithType: варианты аккаунта: нулевое завершение: ^ (BOOL предоставлено, NSError * error) строка с причиной: '- [__ NSCFConstantString accessKeys]: нераспознанный селектор отправлен экземпляру   -  person Anjali jariwala    schedule 07.05.2018


Ответы (2)


Получение списка подписчиков

Чтобы получить список подписчиков, измените URL, который вы запрашиваете, на:

https://api.twitter.com/1.1/followers/list.json

Он возвращает курсорную коллекцию пользовательских объектов для пользователей, следующих за указанным пользователем.

Получение списка отслеживаемых пользователей

Чтобы получить список пользователей, на которых вы подписаны, измените URL, который вы запрашиваете, на:

https://api.twitter.com/1.1/friends/list.json

Он возвращает курсорную коллекцию пользовательских объектов для каждого пользователя, за которым следует указанный пользователь (иначе известный как их друзья).

Я использовал ваш код, чтобы проверить его, и он работает. На основе ресурсов REST API v1.1

person Rafa de King    schedule 01.05.2014

Вы можете использовать Criexe API, если не хотите использовать API. https://github.com/criexe/api/wiki/Social-Networks-Page-Stats-API

Пример:

ПОЛУЧИТЬ https://api.criexe.com/social/pageStats?twitter=microsoft

{
   "twitter":{
      "user":"microsoft",
      "followers":8293150
   },
   "total":8293150
}
person Mustafa Aydemir    schedule 04.12.2017