Как получить изображение профиля пользователя из Twitter после входа в систему [дублировать]

2017 ответ: теперь вы можете делать то, что хотите, в каждом текущем браузере и узле

. Это довольно просто:

  • Вернуть обещание
  • Используйте 'await' , в котором JavaScript ожидает, что обещание будет разрешено в vlue (например, hTTP-ответ)
  • Добавьте 'async' для родительской функции

Вот рабочая версия вашего кода:

(async function(){

var response = await superagent.get('...')
console.log(response)

})()

ожидание поддерживается во всех текущих браузерах и узлах 8 [/ д2]

11
задан WedgeSparda 20 February 2015 в 18:24
поделиться

7 ответов

Я не думаю, что объект TWTRSession имеет образ пользователя, но вы можете использовать сеанс для запроса объекта TWTRUser, и у него будет то, что вам нужно.

6
ответ дан sak 28 August 2018 в 05:16
поделиться
7
ответ дан Abhishek Jain 28 August 2018 в 05:16
поделиться

Способ сделать это быстро:

Twitter.sharedInstance().APIClient.loadUserWithID( session.userID ) 
{
    (user, error) -> Void in

    if( user != nil )
    {

println( user.profileImageURL )

    }
}

Надеюсь, это поможет.

6
ответ дан Alan Costa 28 August 2018 в 05:16
поделиться
 [[[Twitter sharedInstance] APIClient] loadUserWithID:[session userID] completion:^(TWTRUser *user, NSError *error) {
      }];
2
ответ дан Inder Kumar Rathore 28 August 2018 в 05:16
поделиться

Попробуйте следующее:

TWTRLogInButton *logInButton = [TWTRLogInButton buttonWithLogInCompletion:^(TWTRSession *session, NSError *error) {
    // play with Twitter session
    if (session) {
        NSLog(@"Twitter signed in as -> name = %@ id = %@ ", [session userName],[session userID]);

        /* Get user info */
        [[[Twitter sharedInstance] APIClient] loadUserWithID:[session userID]
                                                  completion:^(TWTRUser *user,
                                                               NSError *error)
        {
            // handle the response or error
            if (![error isEqual:nil]) {
                NSLog(@"Twitter info   -> user = %@ ",user);
                NSString *urlString = [[NSString alloc]initWithString:user.profileImageLargeURL];
                NSURL *url = [[NSURL alloc]initWithString:urlString];
                NSData *pullTwitterPP = [[NSData alloc]initWithContentsOfURL:url];

                UIImage *profImage = [UIImage imageWithData:pullTwitterPP];


            } else {
                NSLog(@"Twitter error getting profile : %@", [error localizedDescription]);
            }
        }];

    } else {
        NSLog(@"Twitter error signed in : %@", [error localizedDescription]);
    }
}];
logInButton.center = self.view.center;
[self.view addSubview:logInButton];
6
ответ дан NSPratik 28 August 2018 в 05:16
поделиться

Вот как я получаю userId, userName, authToken, authTokenSecret и profileImageURL

[[Twitter sharedInstance] logInWithCompletion:^(TWTRSession *session, NSError *error) {
        if (session != nil) {
            SPTWUser *user = [[SPTWUser alloc] init];
            user.userID = session.userID;
            user.userName = session.userName;
            user.authToken = session.authToken;
            user.authTokenSecret = session.authTokenSecret;

            TWTRAPIClient *client = [[TWTRAPIClient alloc] initWithUserID:user.userID];
            [client loadUserWithID:user.userID completion:^(TWTRUser * _Nullable user, NSError * _Nullable error) {
                NSLog(@"%@",user.profileImageURL);
            }];
        }
    }];

Ссылка TWTRAPIClient Class , Класс TWTRUser , ] TWTRSession Class

1
ответ дан Phan Van Linh 28 August 2018 в 05:16
поделиться

Для тех, кто получает эту ошибку:

Value of type 'Twitter' has no member 'APIClient'

Это помогло мне,

let twitterClient = TWTRAPIClient(userID: userID)
twitterClient.loadUserWithID(userID) { (user:TWTRUser?, error:NSError?) in
    print(user?.profileImageURL)
}
13
ответ дан Zaid Pathan 28 August 2018 в 05:16
поделиться
Другие вопросы по тегам:

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