mixi Developer Center (ミクシィ デベロッパーセンター)

mixiアプリ

mixiアプリ » 技術仕様(新方式) » mixi API SDK for iOS » 初期化と認可処理

初期化と認可処理

mixi API SDK for iOS を利用したアプリケーションを実際に開発する際のコードの記述方法について説明します。

ヘッダファイルの追加

SDKを利用する場合は次のヘッダファイルをインポートしてください。

#import "MixiSDK.h"

初期化

mixi APIの呼び出しに使用するMixiクラスはシングルトンクラスです。インスタンスは次のようにして取得できます。

[Mixi sharedMixi]

ただし、APIを実行する前に一度シングルトンインスタンスを初期化しておく必要があります。 例えばGraph APIを使用する場合、 UIApplicationDelegate#application:didFinishLaunchingWithOptions: メソッド内で次のように記述するといいでしょう。 (全ての引数はアプリケーションの設定に合わせて変更してください)

Mixi *mixi = [[Mixi sharedMixi] setupWithType:kMixiApiTypeSelectorMixiApp 
                                    clientId:@"mixi-phone-ios_xxxxxx" 
                                      secret:@"a1b2c3456d789ef0123ghi4567jklmn8"];
[mixi restore];
[mixi reportOncePerDay];

アプリの起動を通知

アプリの起動を通知するコードをapplicationWillEnterForeground:に追記します。

- (void)applicationWillEnterForeground:(UIApplication *)application {
    [[Mixi sharedMixi] reportOncePerDay];
}

このコードの追記は任意ですが、サービスの改善のために協力していただけると幸いです。 アプリケーションの情報は一切送信されません。

認可

mixiアプリのAPIを利用するためには、ユーザにAPI利用のための認可を行なってもらう必要があります。そのための画面を表示するのが authorize: メソッドです。

[mixi authorize:@"mixi_apps2", nil];

このメソッドを呼び出すことで、mixi公式アプリを利用してユーザーに認可を促す画面が表示されます。 なおSDKのバージョン1.1以前はmixiアプリ用API呼び出しのために @"mixi_apps" というスコープが指定されていましたが、バージョン1.2以降ではこちらは禁止されています。 代わりに @"mixi_apps2" スコープを使用してください。

さらに、公式アプリで行われる認可の結果(アクセストークンなど)を受け取るために UIApplicationDelegate#application:openURL:sourceApplication:annotation: メソッドに次のような処理を追加しておきます。

NSError *error = nil;
NSString *apiType = [[Mixi sharedMixi] application:application openURL:url sourceApplication:sourceApplication annotation:annotation error:&error];
if (error) {
  // エラーが発生しました
}
else if ([apiType isEqualToString:kMixiAppApiTypeToken]) {
  // 認可処理に成功しました
}
else if ([apiType isEqualToString:kMixiAppApiTypeRevoke]) {
  // 認可解除処理に成功しました
}

上記により認可が完了してればシングルトンオブジェクトはアクセストークンを保持し、APIを実行できる状態になっています。

認可状態の確認

現在の認可状態を確認するには、以下のメソッドを利用します。

Mixi#isAuthorized

通常は、認可画面は初回のみ表示され、2回目以降はスキップすることが可能です。isAuthorizedメソッドはそのための確認処理を行います。既に認可済みであれば YES が返り、未認可であれば NO が返ります。

認証解除

以下のメソッドを呼び出すことで認可状態の解除を行います。なお、mixi API SDK for iOS を利用する場合はユーザ保護の観点から、この認証解除機能を必ず実装してください。

Mixi#revoke

このページの上部へ