この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
Twitter ユーザーを表示
前回に引き続き、Twitter Kit に触れていきたいと思います。今回は TWTRAPIClient を使って Twitter のユーザー情報を引っ張ってきて画面上に表示します。
ユーザー情報を取得する
Twitter ユーザーの情報の取得は、TWTRAPIClient にある loadUserWithID:completion: を利用することで簡単に実装できます。なお、Twitter ユーザーを表示しているだけですので、ログイン処理は不要です。
#import "ViewController.h"
#import <TwitterKit/TwitterKit.h>
@interface ViewController () <UITableViewDataSource, UITableViewDelegate>
// Storyboardから参照
@property (weak, nonatomic) IBOutlet UIImageView *iconImageView;
@property (weak, nonatomic) IBOutlet UILabel *profileLabel;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
[self loadUser];
}
- (void)loadUser
{
TWTRAPIClient *client = [[Twitter sharedInstance] APIClient];
[client loadUserWithID:@"220332457" completion:^(TWTRUser *user, NSError *error) {
if (error) {
NSLog(@"Error : %@", error);
} else {
if (user) {
// ユーザー情報を View に表示する
NSURL *url = [NSURL URLWithString:user.profileImageLargeURL];
NSData *data = [NSData dataWithContentsOfURL:url];
UIImage *image = [UIImage imageWithData:data];
self.iconImageView.image = image;
self.profileLabel.text = [NSString stringWithFormat:@"userID : %@\nscreenName: %@\nname : %@", user.userID, user.screenName, user.name];
}
}
}];
}
@end
loadUserWithID:completion: の第一引数には Twitter ユーザーの ID を渡します。取得できた場合、第二引数で渡したブロックで TWTRUser インスタンスが取得できます。なお、TWTRTweetView のような View は用意されていませんので、自分で実装していく必要があります(View の作成方法については割愛します)。
TWTRUser には次のようなプロパティがあります。
プロパティ名 | 型 | 説明 |
---|---|---|
userID | Twitter ユーザー ID | NSString |
name | Twitter ユーザー名 | NSString |
screenName | 表示名 | NSString |
isVerified | Twitter で認証されているかどうか | BOOL |
isProtected | Twitter で保護されているかどうか | BOOL |
profileImageURL | プロフィール画像の URL | NSString |
profileImageMiniURL | プロフィール画像の URL (小) | NSString |
profileImageLargeURL | プロフィール画像の URL (大) | NSString |
formattedScreenName | @ を付けた表示名 | NSString |
実行するとこんな感じになります。
ちなみに今回確認のため利用させていただいた、この方は明日誕生日らしいです(たまたま知った)。おめでとうございます。
まとめ
Twitter でログイン中のユーザー情報を表示することはもちろん、ある特定のユーザー情報をアプリ上のコンテンツとして表示するときなどにも使えそうですね。