0

iOS で Rest API にアクセスする必要があり、そのために RestKit を使用しています。サーバーは POST 要求のみを受け入れ、JSON で応答を送信します。RestKit を使用してログイン API を呼び出すのを手伝ってください。URLは次のようなものです:

http://mobile.domian.co/apiversion/user/login

および Post パラメータは次のとおりです。

app_key(文字列)、signature(文字列)、timestamp(dateTime)、user_id(文字列)、password(文字列)。

利用可能な応答表現

{
"status": "0",
"result": {
    "error_code": "1",
    "error_msg": "Login failed. Wrong username or password"
}

{ "ステータス": "1", "結果": { "データ": { "アバター": "", "メール": "sd.p@clozette.co", "ユーザー名": "sd", "ニュースレター": "1", "bio_data": "自分について", "mth_dob": "1", "yr_dob": "1981", "hometown": "", "dob_priv": "1", "hometown_priv": "1", "bio_data_priv": "1", "block_comment_notification":"0", "block_liked_notification":"0", }

私を助けてください。前もって感謝します。

4

1 に答える 1

0

これが答えです(日時を文字列に変換する必要があります):-

        NSString *post =[NSString stringWithFormat:@"app_key=%@&signature=%@&timestamp=%@&user_id=%@&password=%@",appKEY,Signature,Datetime,UID,Password];

    NSData *postData = [post dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];

    NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];

    NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
    [request setURL:[NSURL URLWithString:@"Your URL"]];
    [request setHTTPMethod:@"POST"];
    [request setValue:postLength forHTTPHeaderField:@"Content-Length"];
    [request setValue:@"application/x-www-form-urlencoded charset=utf-8" forHTTPHeaderField:@"Content-Type"];
    [request setHTTPBody:postData];

    NSError *error;
    NSURLResponse *response;
    NSData *returnData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
    if (error)
{
    NSLog(@"Error is %@",[error localizedDescription]);
}

    returnString=[[NSString alloc]initWithData:returnData encoding:NSUTF8StringEncoding];
    if(!returnString)
    {
        UIAlertView *erroralert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"There is an error getting response" delegate:self cancelButtonTitle:nil otherButtonTitles:@"OK", nil];
        [erroralert show];
        [erroralert release];
    }
    else 
    {
        NSLog(@"%@",returnString);
    }
    SBJSON *json = [[SBJSON new] autorelease];
    NSMutableDictionary *dic = [[NSMutableDictionary alloc] initWithDictionary:[json objectWithString:returnString error:nil]];
于 2012-05-01T14:05:21.840 に答える