Вопрос по ios – Получение ручки Twitter из Twitter Framework в iOS

4

Я знаю, что для получения доступа к настроенной учетной записи Twitter с помощью твиттер-фреймворка в iOS 5 можно сделать следующее:

ACAccountStore *t_account = [[ACAccountStore alloc] init];
ACAccountType *accountType = [account accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];
[account requestAccessToAccountsWithType:accountType withCompletionHandler:^(BOOL granted, NSError *error) {
    if (granted == YES) {
    }
}

Но проблема в том, что мне не нужна полная учетная запись, я просто хочу имя твиттера, если он настроил его для учетных записей твиттера. Итак, есть ли способ получитьjust the twitter handle из рамок (не полный аккаунт)without asking any user permission ?

Ваш Ответ

1   ответ
1

зователя на доступ к этим учетным записям. Просто попробуйте выполнить следующее в делегате приложения в новом проекте, чтобы вы знали, что приложению не были предоставлены разрешения на доступ к учетным записям Twitter. Конечно, убедитесь, что у вас есть хотя бы одна учетная запись Twitter на устройстве или в симуляторе, а структура учетных записей импортирована в ваш проект и делегат приложения. Также вы делаете предположение, что у пользователя есть только одна учетная запись Twitter. Лучше всего кодировать для случая, когда у пользователя может быть более одной учетной записи.

    ACAccountStore *accountStore = [[ACAccountStore alloc] init];

    // Create an account type that ensures Twitter accounts are retrieved.
    ACAccountType *accountType = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];

    NSArray *accountsArray = [accountStore accountsWithAccountType:accountType];

    for (ACAccount *account in accountsArray ) {
        NSLog(@"Account name: %@", account.username);
    }

    NSLog(@"Accounts array: %d", accountsArray.count);

Теперь измените код, чтобы он возвращал ваши результаты, когда пользователь дал разрешение:

    ACAccountStore *accountStore = [[ACAccountStore alloc] init];

    // Create an account type that ensures Twitter accounts are retrieved.
    ACAccountType *accountType = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];

    [accountStore requestAccessToAccountsWithType:accountType withCompletionHandler:^(BOOL granted, NSError *error) {

    if(granted) {

        NSArray *accountsArray = [accountStore accountsWithAccountType:accountType];

        for (ACAccount *account in accountsArray ) {
            NSLog(@"Account name: %@", account.username);
        }

        NSLog(@"Accounts array: %d", accountsArray.count);
    }
}];

Итак, я думаю, что короткий ответ, есть причина, по которой Apple просит пользователя предоставить разрешение на учетные записи пользователей. Если этот доступ не был предоставлен, вы не собираетесь возвращать какие-либо данные.

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded defactodeity
Error: User Rate Limit Exceeded defactodeity

Похожие вопросы