2016-02-18 5 views
0

У меня возникли проблемы с отправкой запроса POST для подписки пользователей на список MailChimp. Это то, что я получил до сих пор:Заголовок авторизации запроса POST

NSString *Post = [[NSString alloc] initWithFormat:@"{email_address:%@, status:pending}",email]; 
    NSData *PostData = [Post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; 

    NSURL *url = [NSURL URLWithString:@"https://us10.api.mailchimp.com/3.0/lists/124709/members/"]; 
    NSMutableURLRequest *req = [NSMutableURLRequest requestWithURL:url]; 
    [req setHTTPMethod:@"POST"]; 
    [req addValue:@"apikey:*****************" forHTTPHeaderField: @"Authorisation"]; 
    [req addValue:@"application/json" forHTTPHeaderField: @"content-type"]; 
    [req setHTTPBody:PostData]; 

    NSData *res = [NSURLConnection sendSynchronousRequest:req returningResponse:NULL error:NULL]; 
    NSString *myString = [[NSString alloc] initWithData:res encoding:NSUTF8StringEncoding]; 
    NSLog(@"%@", myString); 

, но каждый раз, когда я получаю ответ, говоря «Ваш запрос не включает ключ API.». Я, очевидно, скрыл свой ключ, но это определенно действительный, так что это не проблема. Я следую следующий завиток код запроса:

curl --request POST \ 
--url 'https://usX.api.mailchimp.com/3.0/lists/57afe96172/members' \ 
--user 'anystring:apikey' \ 
--header 'content-type: application/json' \ 
--data '{"email_address":"[email protected]", "status":"subscribed"}' \ 
--include 

Любая помощь будет высоко ценится :)

+0

ссылка содержит файл, который вы пытаетесь сделать с этим? –

ответ

0

Попробуйте

NSString *Post = [[NSString alloc] initWithFormat:@"{email_address:%@, status:pending}",email]; 

    NSURL *url = [NSURL URLWithString:@"https://us10.api.mailchimp.com/3.0/lists/124709/members/"];  

    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url] cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:10]; 
    [request setHTTPMethod:"POST"]; 
    [request setValue:"YOUR_KEY" forHTTPHeaderField:@"Authorisation"]; 
    [request setValue: @"application/json" forHTTPHeaderField:@"Content-Type"]; 
    [request setHTTPBody: [Post dataUsingEncoding:NSUTF8StringEncoding]]; 

    AFHTTPRequestOperation *op = [[AFHTTPRequestOperation alloc] initWithRequest:request]; 
    op.responseSerializer = [AFJSONResponseSerializer serializer]; 
    [op setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject){ 
       if (responseObject) 
       {       
       } 
       } failure:^(AFHTTPRequestOperation *operation, NSError *error){ 
       }]; 
       [op start]; 

надеюсь, что эта помощь вам поможет

0

Не уверен, что это причина вашей проблемы, но я думаю, что вы ошибочно написали Authorization. Также должно быть Content-Type.

Смежные вопросы