0

FBConnect の最新 SDK を使用して、ユーザーの基本情報を抽出しようとしています。私のコードは簡単です:

- (void)viewDidLoad {
    [super viewDidLoad];

    facebook = [[Facebook alloc] initWithAppId:fbAppId];
    NSArray* permissions = [[NSArray arrayWithObjects:@"user_about_me",@"read_stream",nil]retain];
    [facebook authorize:permissions delegate:self];     

    [facebook requestWithGraphPath:@"me" andDelegate:self];     
    NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                   fbAppId, @"app_id",
                                   [NSString stringWithFormat: @"Some Text"], @"description",
                                   @"My Test App", @"name",
                                   @"Test Facebook Graph API",@"message", 
                                   nil];

    [facebook dialog:@"feed" andParams:params andDelegate:self];
}
- (BOOL) application: (UIApplication*) application handleOpenURL:(NSURL *)url {
    return [facebook handleOpenURL:url];
}
- (void) fbDidLogin {
NSLog(@"FB didLogin");
}
- (void) fbDidNotLogin:(BOOL)cancelled {
NSLog(@"FB didNotLogin");
}
- (void) request:(FBRequest *)request didLoad:(id)result {
    NSLog(@"request-didLoad-result");
}  
- (void)request:(FBRequest *)request didReceiveResponse:(NSURLResponse *)response {
    NSLog(@"received response");
}

この時点まで、すべてがうまくいっているようです。ユーザーのウォールでダイアログを介してフィードを公開すると、正常に動作します。名前などのユーザー情報を取得しようとすると、問題が発生します。

[facebook requestWithGraphPath:@"me" andDelegate:self];

ただし、fbDidLogin も requestDidLoad も呼び出されません。requestDidLoad については、リクエスト didLoad の前に呼び出される didLoadRawResponse を確認しました。

- (void)request:(FBRequest *)request didLoadRawResponse:(NSData*)data {

    NSString *response = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
    NSLog(@"Response is = %@",response);
    [response release];
}

応答として得られるのは、次の認証エラーです。

{"error":{"type":"OAuthException","message":"An active access token must be used to query information about the current user."}}

その理由と解決策は?

4

1 に答える 1

3

次の wiki にコード全体を追加 しましたFacebook iOS SDK を使用して Facebook の応答を取得する方法

これがお役に立てば幸いです。これは機能するコードです。質問がある場合はお知らせください。

于 2011-03-07T15:10:16.080 に答える