2013-03-12 24 views
7

現在Facebookを使用してiOSアプリにログインしています。サーバー管理者はFacebookアクセストークンを要求してセキュリティ認証を追加しました。ここでは実行しようとしたコードはありますが、私が何をしても、サーバーの応答エラーが500(内部サーバーエラー)になっています。何か案は?iOSでJSONを使用してHTTP POSTリクエストを送信

NSMutableURLRequest *request = [NSMutableURLRequest 
           requestWithURL:[NSURL URLWithString:@"https://XXXXXXXXXXXXXXXX/users.json"]]; 

NSDictionary *requestData = [[NSDictionary alloc] initWithObjectsAndKeys: 
        userID, @"facebook_id", 
        FBAccessToken, @"fb_token", 
        userName, @"name", 
        nil]; 
NSError *error; 
NSData *postData = [NSJSONSerialization dataWithJSONObject:requestData options:0 error:&error]; 
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; 
[request setHTTPMethod:@"POST"]; 
[request setHTTPBody:postData]; 
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self]; 
+0

エラーは通常、クライアントではなくサーバで問題が発生していることを意味します。 http://pcsupport.about.com/od/findbyerrormessage/a/500servererror.htm –

+0

ここにはあまり行きません。レスポンスボディには何がありますか? –

+0

@MikeD facebookのセキュリティを追加する前にうまくいき、Web上で作業している人とAndroid版のアプリがサーバーと通信できました。 –

答えて

3

レスポンス本文を記録する方法は次のとおりです。

@property (strong, nonatomic) NSMutableData *responseData; 

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response 
{ 
    self.responseData = [NSMutableData data]; 
    … 
} 

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data 
{ 
    [self.responseData appendData:data]; 
    … 
} 

- (void)connectionDidFinishLoading:(NSURLConnection *)connection 
{ 
    NSLog(@"response data - %@", [[NSString alloc] initWithData:self.responseData encoding:NSUTF8StringEncoding]); 
    … 
} 
1

また、NSURLConnectionDelagateプロトコルに準拠する必要があります。

関連する問題