Public メソッド | Static Public メソッド | プロパティ
クラス Mixi

SDKのメインクラス [詳細]

#import <Mixi.h>

すべてのメンバ一覧

Public メソッド

(id) - setupWithClientId:secret:
 OAuthクライアントIDとシークレットを指定してインスタンスを初期化。APIタイプはGraphAPI。
(id) - setupWithType:clientId:secret:
 タイプとOAuthクライアントIDとシークレットを指定してインスタンスを初期化
(id) - setupWithConfig:
 設定を指定してインスタンスを初期化
(void) - reportOncePerDay
 UUカウントのためにpingを実行
(void) - setPropertiesFromDictionary:
 辞書オブジェクトでプロパティをまとめて設定
(NSString *) - application:openURL:sourceApplication:annotation:error:
 公式アプリからの戻り値を処理
(BOOL) - isMixiAppInstalled
 mixi公式iPhoneアプリがインストールされているかどうか
(BOOL) - isUsingSDKAuthorizer
 SDK単体で認可を実行しているかどうか
(BOOL) - isUsingAppAuthorizer
 mixi公式iPhoneアプリで認可を実行しているかどうか
(BOOL) - isAuthorized
 アクセストークンを取得済みかどうか
(BOOL) - isAccessTokenExpired
 アクセストークンが期限切れかどうか
(BOOL) - isRefreshTokenExpired
 リフレッシュトークンが期限切れかどうか
(BOOL) - refreshAccessToken
 リフレッシュトークンを使用してアクセストークンを同期的にリフレッシュ
(BOOL) - refreshAccessTokenWithError:
 リフレッシュトークンを使用してアクセストークンを同期的にリフレッシュ
(NSURLConnection *) - refreshAccessTokenWithDelegate:
(BOOL) - authorize:
 公式アプリを呼び出して認証を実行
(BOOL) - authorizeForPermission:
 公式アプリを呼び出して認証を実行
(BOOL) - authorizeForPermissions:
 公式アプリを呼び出して認証を実行
(void) - logout
 ログアウト
(BOOL) - revoke
 認可状態を解除します。
(BOOL) - revokeWithError:
 認可状態を解除します。
(NSString *) - retrieveTokensFromURL:sourceApplication:error:
 公式アプリからの戻りURLからaccess token、refresh tokenなどを抽出.
(NSError *) - retrieveErrorFromURL:
 公式アプリの戻りURLからエラーを抽出
(void) - store
 インスタンスの情報を保持
(BOOL) - restore
 インスタンスの情報を復帰
(NSURLConnection *) - sendRequest:delegate:forced:
 APIを実行(非同期)
(NSURLConnection *) - sendRequest:delegate:
 APIを実行(非同期)
(NSString *) - rawSendSynchronousRequest:error:
 APIを実行して結果を文字列で取得(同期)
(NSDictionary *) - sendSynchronousRequest:error:
 APIを実行して結果を辞書型で取得(同期)
(MixiViewController *) - buildViewControllerWithRequest:delegate:
 画面を伴うAPIを実行するための画面を取得

Static Public メソッド

(Mixi *) + sharedMixi
 共有されたインスタンスを取得

プロパティ

MixiConfigconfig
NSArray * permissions
BOOL autoRefreshToken
MixiViewControllermixiViewController
MixiAuthorizerauthorizer
MixiReporteruuReporter

説明

SDKのメインクラス

APIのほとんどは本クラスを通じて実行されます。ただし、実行されるAPIの内容はパラメータとして受け取るMixiRequestで保持されています。

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

#import "MixiSDK.h"

API呼び出し準備

本クラスはシングルトンクラスです。インスタンスは次のようにして取得できます。

[Mixi sharedMixi]

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

Mixi *mixi = [[Mixi sharedMixi] setupWithType:kMixiApiTypeSelectorGraphApi 
                                     clientId:"ab12c345de6789f12345" 
                                       secret:@"a1b2c3456d789ef0123ghi4567jklmn89op01qrs"];
 [mixi restore];
 [mixi reportOncePerDay];
 

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

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

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

参照:
- pingWithMixi: (MixiReporter)

さらに、mixi公式iPhoneアプリで認可を行う場合(デフォルトの動作です)は、結果(アクセストークンなど)を受け取るために 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]) {
     // 認可解除処理に成功しました
 }
 else if ([apiType isEqualToString:kMixiAppApiTypeReceiveRequest]) {
     // リクエストAPIによるリクエスト受け取り
 }
 

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

mixi公式iPhoneアプリを経由せずにSDK単独で認可/認可解除を実行

Graph APIを利用する場合に限り公式アプリを経由せずにSDK単独で認可/認可解除を実行できます。

SDK単独での認可を行うには、mixiオブジェクトのauthorizerプロパティをMixiSDKAuthorizerインスタンスに置き換えてください。 UIApplicationDelegate::application:didFinishLaunchingWithOptions:内でMixiオブジェクトをsetupした直後に置き換えるといいでしょう。 redirectUrlはsap.mixi.jpでアプリケーションに設定したリダイレクトURLです。

 if (![mixi isMixiAppInstalled]) {
     mixi.authorizer = [MixiSDKAuthorizer authorizerWithRedirectUrl:redirectUrl];
 }
 

if (![mixi isMixiAppInstalled])はmixi公式iPhoneアプリがなかった場合のみ、SDK単体で認可を行うようにするためのものです。 mixi公式iPhoneアプリの有無にかかわらず、必ずSDK単体で認可を行う場合はこのif文は不要です。 また、SDK単独で認可を行う場合は認可情報はSDK内部でやりとりされるため、先の項で説明した UIApplicationDelegate::application:openURL:sourceApplication:annotation: での処理も不要になります。

SDK単体で認可する場合は、さらにauthorizerが認可に使用するウェブビューコントローラの親になるビューコントローラを設定しなければいけません。 APIを呼び出すビューコントローラのUIViewController::viewDidAppear:に次のようなコードを追加してください。

 - (void)viewDidAppear:(BOOL)animated
 {
     [super viewDidAppear:animated];
     Mixi *mixi = [Mixi sharedMixi];
     if (![mixi isMixiAppInstalled] && ![mixi.authorizer isAuthorized]) {
         id authorizer = mixi.authorizer;
         [authorizer setParentViewController:[self navigationController]];
     }
 }
 

こちらも![mixi isMixiAppInstalled] &&はmixi公式iPhoneアプリがなかった場合にSDK単体で認可を行うようにするためのものです。 mixi公式iPhoneアプリの有無にかかわらずSDK単体で認可を行う場合は上の条件式は不要です。

認可結果を受け取る

認可が完了するとその結果はSDK内に保持され、認可に使用したビューコントローラもdismissされます。 認可完了時にそれら以外の処理を実行する必要がある場合は認可オブジェクトにデリゲートを設定してください。

 id<MixiSDKAuthorizerDelegate> delegate = [[YourDelegate alloc] init];
 authorizer.delegate = delegate;
 

参照:
- authorizer:didSuccessWithEndpoint: (MixiSDKAuthorizerDelegate-p)
- authorizer:didCancelWithEndpoint: (MixiSDKAuthorizerDelegate-p)
- authorizer:didFailWithEndpoint:error: (MixiSDKAuthorizerDelegate-p)

認可画面のツールバーの色を変更する

認可画面のツールバーはデフォルトでは標準のくすんだ青色になっています。アプリケーションのイメージカラーに合わせてツールバーの色を変更したい場合はtoolbarColorプロパティを設定してください。

authorizer.toolbarColor = [UIColor blackColor];

友人一覧取得API呼び出し

APIはエンドポイントとパラメーターを設定したMixiRequestインスタンスを、sendRequest:delegate: (Mixi)メソッドに渡すことで実行します。 API実行前に認可が完了しているかどうかを確認して、未認可の場合は先に認可しておきます。認可に失敗した場合はmixi公式アプリがインストールされていないか、最新版ではない可能性があるので、AppStoreのmixi公式アプリダウンロードを提案する画面を開きます。

if ([mixi isAuthorized]) {
     MixiRequest *request = [MixiRequest requestWithEndpoint:@"/people/@me/@friends"];
     [mixi sendRequest:request delegate:mixiDelegate];
 }
 else if (![mixi authorizeForPermission:@"r_profile"]) {
     MixiWebViewController *vc = MixiUtilDownloadViewController(self, (closeDownloadView:));
     vc.orientationDelegate = self;
     [self presentModalViewController:vc animated:YES];
 }
 

公式アプリダウンロード画面で「キャンセル」ボタンをクリックされた場合の処理はSDK利用者が自分で実装しなければいけません。 上記の例であれば、呼び出し元のコントローラで次のようなメソッドを定義します。

画像付きボイス投稿API呼び出し

パラメーター付きのMixiRequestは次のようにして作成できます。サンプルのとおり、UIImageインスタンスを渡すと画像を添付できます。

if ([mixi isAuthorized]) {
     NSString *path = [[NSBundle mainBundle] pathForResource:@"yoichiro" ofType:@"png"];
     UIImage *image = [[UIImage alloc] initWithContentsOfFile:path];
     MixiRequest *request = [MixiRequest postRequestWithEndpoint:@"/voice/statuses/update" 
                                                   paramsAndKeys:@"こんにちはこんにちは", @"status",
                                                                 image, "photo", nil];
     [mixi sendRequest:request delegate:mixiDelegate];
 }
 else if (![mixi authorizeForPermission:@"w_voice"]) {
     MixiUtilShowErrorMessage("公式アプリが入っていないか古いです");
 }
 

日記投稿API呼び出し

複雑なオブジェクトはNSMutableDictionaryインスタンスで指定します。

if ([mixi isAuthorized]) {
     NSMutableDictionary *diary = [NSMutableDictionary dictionary];
     [diary setValue:"今日のなんとか" forKey:@"title"];
     [diary setValue:@"今日はあれとかこれとか" forKey:@"body"];
     NSMutableDictionary *privacy = [NSMutableDictionary dictionary];
     [privacy setValue:"self" forKey:@"visibility"];
     [diary setValue:privacy forKey:@"privacy"];
     MixiRequest *request = [MixiRequest postRequestWithEndpoint:@"/diary/articles/@me/@self" 
                                                   paramsAndKeys:diary, @"request", nil];
     [mixi sendRequest:request delegate:mixiDelegate];
 }
 else {
     [mixi authorizeForPermission:@"w_diary"];
 }
 

写真投稿API呼び出し

画像オブジェクトをparamsプロパティの値に設定すると画像が一つしか指定されていない場合でもマルチパートで送信されます。 写真投稿APIのように画像をリクエストボディに設定する必要がある場合は、bodyプロパティに画像オブジェクトを設定してください。 (なお、paramsとbodyを同時に指定した場合はリクエストボディはbodyプロパティの値になり、パラメーターはエンドポイントにクエリパラメーターとして追加されます)

if ([mixi isAuthorized]) {
     NSString *path = [[NSBundle mainBundle] pathForResource:"yoichiro" ofType:@"png"];
     UIImage *image = [[UIImage alloc] initWithContentsOfFile:path];
     MixiRequest *request = [MixiRequest postRequestWithEndpoint:"/photo/mediaItems///123456"
                                                            body:image
                                                   paramsAndKeys:"写真タイトル", @"title", nil];
     [mixi sendRequest:request delegate:self];
 }
 else {
     [mixi authorizeForPermission:"w_photo"];
 }
 

リクエストAPI呼び出し

リクエストAPI呼び出しは確認ダイアログを表示するため、buildViewControllerWithRequest:delegate:メソッドを使用して呼び出します。

if ([mixi isAuthorized]) {
     NSString *message = @"こんにちはこんにちは";
     NSString *recipients = @"abcdefghijklm";
     NSString *url = @"http://mixi.jp/run_appli.pl?id=xxxxx";
     NSString *mobileUrl = @"http://ma.mixi.net/xxxxx/";
     NSString *image = @"http://profile.img.mixi.jp/photo/user/mlkjihgfedcba_12345678901.jpg,image/jpeg";
     MixiRequest *request = [MixiRequest requestWithEndpoint:@"/dialog/requests"
                                               paramsAndKeys:message, @"message",
                                                             recipients, @"recipients",
                                                             url, @"url",
                                                             mobileUrl, @"mobile_url",
                                                             image, @"image", 
                                                             nil];
     UIViewController *viewController = [mixi buildViewControllerWithRequest:request delegate:mixiDelegate];
     [self presentModalViewController:viewController animated:YES];
 }
 else {
     [mixi authorizeForPermission:@"mixi_apps"];
 }
 

リクエスト削除API呼び出し

リクエストAPIで送信されたリクエストをアプリケーションで受け取った場合は、処理が完了したら明示的にリクエストを削除しなければいけません。 アプリケーションの起動に使用されたURLのクエリパラメータとしてリクエストIDが付加されています。 リクエストの処理完了後に、そのIDを利用してリクエストを削除してください。

NSString *requestId = MixiUtilGetRequestIdFromURL(url);
 MixiRequest *request = [MixiRequest deleteRequestWithEndpoint:"/apps/requests/@me/@self" 
                                                 paramsAndKeys:requestId, @"requestIds", nil];
 [[Mixi sharedMixi] sendRequest:request delegate:self];
 

APIの実行結果を処理

API実行結果はsendメソッド群の引数に与えていたMixiDelegateプロトコルを実装したデリゲートで処理します。 例えば、APIの実行結果をAlertViewで表示するには次のようなデリゲートメソッドを定義したクラスのインスタンスをsendメソッド群の引数に与えます。

- (void)mixi:(Mixi*)mixi didFinishLoading:(NSString*)data {
     MixiUtilShowMessageTitle(data, @"実行結果");
 }
 

上記以外のデリゲートメソッドについてはMixiDelegateのドキュメントを参照してください。

APIを同期呼び出し

sendSynchronousRequest:error: (Mixi) メソッドを使用してAPIを同期的に実行することもできます。 ただし、同期的に実行した場合、APIの呼び出しが完了するまでアプリケーションの動作が停止するため、どうしても必要な場合を除き、非同期呼び出しを使用してください。

NSError *error = nil;
 MixiRequest *request = [MixiRequest requestWithEndpoint:@"/people/@me/@friends"];
 NSDictionary *result = [mixi sendSynchronousRequest:request error:&error];
 // 呼び出しが完了するまで停止します
 if (error) {
     // エラー
 }
 else {
     NSArray *friends = [result objectForKey:@"entry"];
     // 友人一覧を利用
 }
 

API呼び出しをキャンセル

Mixi::sendRequest:delegate メソッドは呼び出しの結果として NSURLConnection オブジェクトを返します。 リクエストをキャンセルする場合はこの NSURLConnection オブジェクトを使用してください。

例えばAPI呼び出しを0.5秒後にキャンセルする場合は次のようになります。

Mixi *mixi = [Mixi sharedMixi];
 MixiRequest *request = [MixiRequest requestWithEndpoint:@"/people/@me/@friends"];
 NSURLConnection *conn = [mixi sendRequest:request delegate:self];
 [conn performSelector:@selector(cancel) withObject:nil delay:0.5];
 

アクセストークンの自動リフレッシュを使用しない

デフォルトの状態では、アクセストークンが期限切れの場合、自動的にリフレッシュされ新しいトークンを使用してAPIリクエストが実行されます。 ただしこのリフレッシュは同期的に行われます。 もし非同期にトークンをリフレッシュしたい場合は、次の例を参考にしてください。 (エラー処理などは省略しています)

― (void)doMyRequest {
     Mixi *mixi = [Mixi sharedMixi];
     mixi.autoRefreshToken = NO;
     MixiRequest *request = [MixiRequest requestWithEndpoint:@"/people/@me/@friends"];
     request.openMixiAppToAuthorizeIfNeeded = NO;
     [mixi sendRequest:request delegate:self];
 }
 // トークンが期限切れの場合に非同期にリフレッシュ(API呼び出しの結果を処理しています)
 ― (void)mixi:(Mixi*)mixi didFailWithError:(NSError*)error {
     if (error.code == kMixiTokenErrorExpired) {
         [mixi refreshAccessTokenWithDelegate:self];
     }
 }
 // トークンリフレッシュに成功したのでトークンを保持してリクエストを再送(トークンリフレッシュの結果を処理しています)
 ― (void)mixi:(Mixi*)mixi didSuccessWithJson:(NSDictionary*)data {
     [mixi setPropertiesFromDictionary:data];
     [self doMyRequest];
 }
 

関数

- (NSString *) application: (UIApplication *)  application
openURL: (NSURL *)  url
sourceApplication: (NSString *)  sourceApplication
annotation: (id)  annotation
error: (NSError**)  error 

公式アプリからの戻り値を処理

アプリケーションのURLスキームで呼び出された場合を処理するためのユーテリィティメソッドです。 UIApplicationDelegate::application:openURL:sourceApplication:annotation 内で呼び出してください。 独自の制御が必要な場合は当メソッドの実装をアプリケーションデリゲートの同名メソッドにコピーして自由に修正して構いません。

引数:
application呼び出されたアプリケーション
url呼び出しに使用されたURL
sourceApplication呼び出し元アプリケーション
annotation付加情報
errorエラー
戻り値:
実行されたAPIの種類。認可:kMixiAppApiTypeToken("token")。認可解除:kMixiAppApiTypeRevoke("revoke")。
- (BOOL) authorize: (NSString*)  permission
,   ... 

公式アプリを呼び出して認証を実行

引数:
permission要求するパーミッション。可変長。最後の引数は必ずnilにすること
戻り値:
公式アプリの起動に成功したらYESを返します。公式アプリが古いか、インストールされていない場合にはNOを返します。
- (BOOL) authorizeForPermission: (NSString*)  permission

公式アプリを呼び出して認証を実行

引数:
permission要求するパーミッション
戻り値:
公式アプリの起動に成功したらYESを返します。公式アプリが古いか、インストールされていない場合にはNOを返します。
- (BOOL) authorizeForPermissions: (NSArray*)  permissions

公式アプリを呼び出して認証を実行

引数:
permissions要求するパーミッション
戻り値:
公式アプリの起動に成功したらYESを返します。公式アプリが古いか、インストールされていない場合にはNOを返します。
- (MixiViewController *) buildViewControllerWithRequest: (MixiRequest*)  request
delegate: (id<MixiDelegate>)  delegate 

画面を伴うAPIを実行するための画面を取得

引数:
requestリクエスト
delegateリクエスト結果を処理するデリゲート
戻り値:
APIを実行する画面のコントローラー
- (BOOL) isAccessTokenExpired

アクセストークンが期限切れかどうか

戻り値:
アクセストークンが期限切れかどうか
- (BOOL) isAuthorized

アクセストークンを取得済みかどうか

戻り値:
アクセストークンを取得済みかどうか
- (BOOL) isMixiAppInstalled

mixi公式iPhoneアプリがインストールされているかどうか

戻り値:
mixi公式iPhoneアプリがインストールされているかどうか
- (BOOL) isRefreshTokenExpired

リフレッシュトークンが期限切れかどうか

戻り値:
リフレッシュトークンが期限切れかどうか
- (BOOL) isUsingAppAuthorizer

mixi公式iPhoneアプリで認可を実行しているかどうか

戻り値:
mixi公式iPhoneアプリで認可を実行しているかどうか
- (BOOL) isUsingSDKAuthorizer

SDK単体で認可を実行しているかどうか

戻り値:
SDK単体で認可を実行しているかどうか
- (void) logout

ログアウト

SDKが端末上に保持している情報をクリアします。

- (NSString *) rawSendSynchronousRequest: (MixiRequest*)  request
error: (NSError**)  error 

APIを実行して結果を文字列で取得(同期)

(リダイレクト先で結果を返すAPIがあるため)リダイレクトされた場合は、リダイレクト先を返します。

引数:
requestリクエスト
error エラー
戻り値:
リクエスト結果
- (BOOL) refreshAccessToken

リフレッシュトークンを使用してアクセストークンを同期的にリフレッシュ

戻り値:
成功したらYES、そうでなければNOを返します
- (NSURLConnection *) refreshAccessTokenWithDelegate: (id<MixiDelegate>)  delegate

リフレッシュトークンを使用してアクセストークンを非同期にリフレッシュ

引数:
delegate結果を受け取るデリゲート
戻り値:
コネクション。nilの場合は接続に失敗しています。
- (BOOL) refreshAccessTokenWithError: (NSError**)  error

リフレッシュトークンを使用してアクセストークンを同期的にリフレッシュ

引数:
errorエラー
戻り値:
成功したらYES、そうでなければNOを返します
- (void) reportOncePerDay

UUカウントのためにpingを実行

複数回送信されたとしても一日に一度しかカウントされません。

- (BOOL) restore

インスタンスの情報を復帰

戻り値:
成功したらYES、そうでなければNOを返します
- (NSError *) retrieveErrorFromURL: (NSURL*)  url

公式アプリの戻りURLからエラーを抽出

エラーコードは次の通り。

  • kMixiAuthErrorConnectionFailed 公式アプリで接続エラーでログイン画面を開けない場合
  • kMixiAuthErrorOAuthFailed 公式アプリで認証エラーでログイン画面を開けない場合
  • kMixiAuthErrorInvalidOAuthParameters 公式アプリでOAuth不正パラメータでログイン画面を開けない場合
引数:
urlアプリ起動に使用されたURL
戻り値:
エラー
- (NSString *) retrieveTokensFromURL: (NSURL*)  url
sourceApplication: (NSString*)  sourceApplication
error: (NSError**)  error 

公式アプリからの戻りURLからaccess token、refresh tokenなどを抽出.

引数:
urlアプリ起動に使用されたURL
sourceApplication呼び出し元アプリケーション。現在未使用。将来的に検証に使用したい。
errorエラー
戻り値:
トークン
- (BOOL) revoke

認可状態を解除します。

戻り値:
呼び出しに成功したらYESを返します。公式アプリ経由で処理を実行する場合はYESを返しても解除が成功しているとは限りません。
- (BOOL) revokeWithError: (NSError**)  error

認可状態を解除します。

引数:
errorエラー
戻り値:
呼び出しに成功したらYESを返します。公式アプリ経由で処理を実行する場合はYESを返しても解除が成功しているとは限りません。
- (NSURLConnection *) sendRequest: (MixiRequest*)  request
delegate: (id<MixiDelegate>)  delegate 

APIを実行(非同期)

アクセストークンのリフレッシュが必要な場合は、リフレッシュしてからAPIを実行します。

引数:
requestリクエスト
delegateリクエスト結果を処理するデリゲート
戻り値:
コネクション。nilの場合は接続に失敗しています。
- (NSURLConnection *) sendRequest: (MixiRequest*)  request
delegate: (id<MixiDelegate>)  delegate
forced: (BOOL)  forced 

APIを実行(非同期)

アクセストークンの自動更新があり、処理がやや込み入っているので以下に簡単に説明します。 アクセストークンの更新に関係するものは次の5つです。

  • 引数forceの値
  • アクセストークンの期限
  • リフレッシュトークンの期限
  • autoRefreshTokenプロパティの値
  • MixiRequest::openMixiAppToAuthorizeIfNeededの値

それらを次の順でチェックしてAPIを呼び出します。

  1. 引数forceがYESの場合にはアクセストークンの期限を無視して強制的にAPIを実行します。
  2. forceがNOの場合にアクセストークンが期限切れなら、リフレッシュトークンの期限を確認します。
  3. リフレッシュトークンの期限が切れていた場合はトークンをリフレッシュできないので8.に進みます。
  4. リフレッシュトークンが有効なら、プロパティautoRefreshTokenの値を確認します。
  5. autoRefreshTokenがNOの場合はトークンをリフレッシュしないので8.に進みます。
  6. autoRefreshTokenがYESの場合はトークンをリフレッシュします。
  7. トークンのリフレッシュに成功したら、そのトークンを使用してAPIを実行します。
  8. トークンのリフレッシュに失敗したら、MixiRequest::openMixiAppToAuthorizeIfNeededの値を確認します。
  9. openMixiAppToAuthorizeIfNeededがYESの場合は、公式アプリの認可画面を開きます。
  10. openMixiAppToAuthorizeIfNeededがNOの場合は、エラーを返します。
引数:
requestリクエスト
delegateリクエスト結果を処理するデリゲート
forcedアクセストークンの期限切れを気にせずとにかく実行するか、そうではないか
戻り値:
コネクション。nilの場合は接続に失敗しています。
- (NSDictionary *) sendSynchronousRequest: (MixiRequest*)  request
error: (NSError**)  error 

APIを実行して結果を辞書型で取得(同期)

引数:
requestリクエスト
error エラー
戻り値:
リクエスト結果
- (void) setPropertiesFromDictionary: (NSDictionary*)  dict

辞書オブジェクトでプロパティをまとめて設定

引数:
dict有効なキーは"access_token"、"refresh_token"、"expires_in"、"state"
- (id) setupWithClientId: (NSString*)  clientId
secret: (NSString*)  secret 

OAuthクライアントIDとシークレットを指定してインスタンスを初期化。APIタイプはGraphAPI。

引数:
clientIdOAuthコンシューマーキー
secretOAuthコンシューマーシークレット
戻り値:
指定された値で設定されたMixiインスタンス
- (id) setupWithConfig: (MixiConfig*)  config

設定を指定してインスタンスを初期化

引数:
config設定
戻り値:
指定された値で設定されたMixiインスタンス
- (id) setupWithType: (MixiApiType type
clientId: (NSString*)  clientId
secret: (NSString*)  secret 

タイプとOAuthクライアントIDとシークレットを指定してインスタンスを初期化

引数:
typekMixiApiTypeSelectorMixiAppまたはkMixiApiTypeSelectorGraphApi
clientIdOAuthコンシューマーキー
secretOAuthコンシューマーシークレット
戻り値:
指定された値で設定されたMixiインスタンス
+ (Mixi *) sharedMixi

共有されたインスタンスを取得

戻り値:
共有されたインスタンス

このクラスの説明は次のファイルから生成されました:
 全て クラス ファイル 関数 変数 型定義 列挙型 列挙型の値 マクロ定義