如何使用Twitter工具包/Fabric iOS获取登录用户的个人资料URL



我使用iOS推特工具包在我的iOS应用程序中实现推特登录机制。我已经使用Fabric成功安装了twitter工具包。我使用以下代码登录并获取登录用户的详细信息。

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);
            } 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];

使用收到的TWTRUser*用户对象,我可以访问用户信息,如名称、屏幕名称、配置文件图像url。是否有任何方法可以获取其他用户信息,如用户的个人资料页面url、电话号码等?

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];

据我所见,登录操作也返回"ID"(数字)。您可以使用此唯一ID获取登录的用户配置文件URL。

代码段:https://twitter.com/intent/user?user_id=ID_FROM_RESPONSE

最新更新