2012-03-01 13 views
0

私のiPhoneアプリにFacebookのiOS SDKを実装しようとしています。 FBDialog Delegateを使用して、ユーザーがログインし、代理人を使用して応答/コールバックを取得できるようにしています。Facebook Dialog代理コールバックの値

ログインが成功すると、ユーザーからのresponse_typeのコードを取得したいと思います。 誰でも私をここで助けたり、どこからガイドを取るべきか教えてもらえますか?

-(void) login{ 
self.fb = [[Facebook alloc] initWithAppId:AppID andDelegate:self]; 


NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
if ([defaults objectForKey:@"FBAccessTokenKey"] 
    && [defaults objectForKey:@"FBExpirationDateKey"]) { 
    self.fb.accessToken = [defaults objectForKey:@"FBAccessTokenKey"]; 
    self.fb.expirationDate = [defaults objectForKey:@"FBExpirationDateKey"]; 
} 

fb.sessionDelegate = self; 
NSMutableDictionary *params = [NSMutableDictionary dictionary]; 
[params setObject:AppID forKey:@"client_id"]; 
[params setObject:@"code" forKey:@"response_type"]; 

[fb dialog:@"oauth" andParams:params andDelegate:self]; 

NSLog(@"Callback: %@", params); 
} 

答えて

0

ちょうどデリゲートメソッドハンドル:

私が実装されている次のコードを持ってdidReceiveResponse

/** 
* Your application should implement this delegate to receive session callbacks. 
*/ 
@protocol FBSessionDelegate <NSObject> 

@optional 

/** 
* Called when the user successfully logged in. 
*/ 
- (void)fbDidLogin; 

/** 
* Called when the user dismissed the dialog without logging in. 
*/ 
- (void)fbDidNotLogin:(BOOL)cancelled; 

/** 
* Called when the user logged out. 
*/ 
- (void)fbDidLogout; 

@end 
+0

しかし、私はここのようなFacebookのセッションデリゲートからコードやエラーなどの特定の戻りデータを取得するために探しています。どうすれば達成できますか? – Change

1

と呼ばれるデリゲートメソッドは、応答が開始されたときに(まだ完全で解析されません)、応答オブジェクトからstatusCodeを取得します。戻り値のデータセクションでhttp://developers.facebook.com/docs/reference/dialogs/oauth/:

- (void)request:(FBRequest *)request didReceiveResponse:(NSURLResponse *)response { 
    if (200 == [response statusCode]) { 
     NSLog(@"Success"); 
    }  
} 
+0

この回答が正しい場合は、それを受け入れる必要があります。これは、スタックオーバーフローの仕組みです。 – tooluser

関連する問題