ベテランのプログラマーには物足りない内容になるかもしれませんが、新米スマートフォンプログラマーの皆さんのご参考になれば幸いです。
スマートフォンアプリと言えば、ソーシャル性。
それで、私もすこし今話題なSNSとの連携サービス(
ウィキで
http://ja.wikipedia.org/wiki/OpenID
分かりやすく説明すると、「今有名なSNSなどのアカウントを使って、登録なしで他の新規サービスを使う」のことを指しています。
例えば、FaceBookのIDを使って、ソーシャルグルメアプリ「レッティ(Retty)」に登録なしでログインすることができます。
分かりやすく説明すると、「
例えば、FaceBookのIDを使って、
では、いよいよ本番です。
ここは、IpnoneアプリとTwitterを例としてご説明します。
xAuthを使って簡単にOpenID化できます。
XauthTwitterEngineというライブラリを使って簡単にxAuthを使えます。
大雑把な流れをご説明します。
▼アプリをTwitterに登録
■ http://twitter.com/oauth_clients/new で開発中のアプリをTwitterに登録し(Twitterアカウントが必要です)、Consumer key や Consumer secret など開発用な重要情報を取得します。
■api@twitter.comに自分のアプリ情報URL、Twitterアカウントを記入し、xAuthを有効にして欲しいという旨のメールを送ると、一日か二日後、xAuthは使えるようになったという返事メールが来ると思います。
▼ XauthTwitterEngineをプロジェクトに導入
▼XauthでOpen ID機能を実装
■初期値を設定
大雑把な流れをご説明します。
▼アプリをTwitterに登録
■ http://twitter.com/oauth_
▼ XauthTwitterEngineをプロジェクトに導入
https://github.com/aral/XAuthTwitterEngine でXAuthTwitterEngineDemo をダウンロードして、XAuthTwitterEngineDemo.xcodeprojをXcodeで開きます。
その中のLibraries/Libraries & Headersの下のすべてのファイルを他のプロジェクトの同じ場所にコピーすれば、導入が完了します。
▼XauthでOpen ID機能を実装
■初期値を設定
twitterEngine.consumerKey =
twitterEngine.consumerSecret
■ アクセストークンを取得
NSString *username = @"monstar@twitter";
NSString *password = @"monstarTwitter"
[twitterEngineexchangeAccessTokenForUsername : username
password :password];
■ アクセストークンを一回取得できたら、cachedTwitterXAuthAccessTokenStringForUsernameでアクセストークンを キャッシュに保存しますので、cachedTwitterXAuthAccessTokenStringForUsernameを実装
- (NSString *)cachedTwitterXAuthAccessTokenStringForUsername:( NSString *)username {
NSString *accessTokenString = [[NSUserDefaults standardUserD
LOG(@"About to return access token string: %@", accessTokenString);
return accessTokenString;
}
■アクセストークンの取得の結果は「成功→ storeCachedTwitterXAuthAccessTokenString 」、「失敗→ twitterXAuthConnectionDidFailWithError 」と分けられているので、
storeCachedTwitterXAuthAccessTokenStringと twitterXAuthConnectionDidFailWithErrorを実装
- (void) storeCachedTwitterXAuthAccessTokenString: (NSString *)tokenString forUsername:(NSString *)username
{
[[NSUserDefaults standardUserDefaults] setObject:tokenString forKey:kCachedXAuthAccessTokenStringK ey];
//ここでアクセストークンをキャッシュに保存}
- (void) twitterXAuthConnectionDidFailWithError: (NSError *)error;
{//必要な業務NSLog(@"Error: %@", error);
}
■ツイート
NSString *tweetText = @"Monstar's Open ID Tweet!";
[self.twitterEngine sendUpdate:tweetText];
以上の要素だけで、iphoneアプリとTwitterのツイート連携ができました 皆さんもぜひやってみてください。。アカウントを多く持つのも忘れやすいです。xAuthを使えば、スマートフォンアプリにOpenIDのサービスを手軽に提供できますので、