前回の投稿から丸一月経ってしまいましたorz
今回は認証とAPIの利用までを説明したいと思います。
大まかな認証からAPI利用までの流れは次の通りです
- ヘッダファイルのインクルード
- クラスMixiの初期化
- 認証
- APIの利用
1. ヘッダファイルのインクルード
SDKを利用するソースコードでヘッダファイルをインポート
#import "MixiSDK.h"
これでOK
2.クラスMixiの初期化
プログラムを起動するたびに、クラスを初期化する必要があります
Mixi* mixi = [[Mixi sharedMixi] setupWithType:kMixiApiTypeSelectorGraphApi clientId:kMixiClientID secret:kMixiSecret appId:kAppID];
clientIdやsecretはmixi Developer Centerより入手できます。
ログインしたら、Consumer IDやConsumer Secretと表示されているのがそれです。
3.認可
このアプリを、各ユーザーがアカウントを用いて利用することを認可します。
といっても、特別難しい事はありません。以下のコードで認可する事が出来ます。
[mixi authorize:@"r_profile", @"r_voice", @"w_voice", nil];
Mixi#autorize:を用いる事で認可をすることができます。実際の動作としては、
mixi公式アプリに移り、そこから認可する、といった形に成ります。
このサンプルでは、profileのread、voiceの読み書きを認可しています。
認可の結果は
UIApplicationDelegate#application:openURL:sourceApplication:annotation:
で受け取る事が出来ます。
一度認可を行うと、この処理を呼ぶ必要はありません。認可されているかどうかは
[mixi isAuthorized]で確認することが出来ます。
また、認可を外したい場合は、mixiの利用アプリ一覧からユーザーが解除します。
4.APIの利用
APIは
- HTTPリクエストを作る
- リクエストを投げる
- 結果を処理する
の三段階で行います。
まず、HTTPリクエストの作成です。エンドポイントを指定し、
リクエストのパラメータを決定します。
パラメータの取り方は何種類かあり、NSDictionaryで指定するもの、NSObjectで指定するものなどがあります。
例えば、NSObjectを列挙し、ボイスを投稿するのであれば
MixiRequest *request = [MixiRequest postRequestWithEndpoint:@"/voice/statuses" paramsAndKeys:voice, @"status", nil];
とすることで、POSTリクエストを作る事が出来ます。
voiceは投稿内容の入ったNSStringオブジェクトです。
voiceは投稿内容の入ったNSStringオブジェクトです。
つぎにリクエストを投げるのですが、これは
delgateは結果を処理するクラスで、この場合は自分で受け取ってから処理を行います。
[[Mixi sharedMixi] sendRequest:request delegate:self];とすることで投げる事が出来ます。
delgateは結果を処理するクラスで、この場合は自分で受け取ってから処理を行います。
そして、結果の処理です。
今回はPOSTリクエストを投げました。成功した場合は、つぶやきの内容(多分)が帰ってきます。失敗した場合はエラーコードがおそらく帰ってくると思います。
APIを処理するメソッドは
以上でAPIの利用までができると思います。
今回はPOSTリクエストを投げました。成功した場合は、つぶやきの内容(多分)が帰ってきます。失敗した場合はエラーコードがおそらく帰ってくると思います。
APIを処理するメソッドは
- (void)mixi:(Mixi *)mixi didFinishLoading:(NSString *)data - (void)mixi:(Mixi *)mixi didSuccessWithJson:(NSDictionary *)dataなどがあります。API実行結果を表示するサンプルは以下のようになります。
- (void)mixi:(Mixi *)mixi didFinishLoading:(NSString *)data{ NSLog(@"API実行結果%@", data); }
以上でAPIの利用までができると思います。