Я пытаюсь создать приложение на API-интерфейсе. Чтобы иметь возможность отмечать категории как прочитанные, мне нужно отправить некоторые данные в API. Я не добился успеха.Восстановить данные JSON в Objective-C
Это то, что нужно API в качестве входных данных:
{
"lastReadEntryId": "TSxGHgRh4oAiHxRU9TgPrpYvYVBPjipkmUVSHGYCTY0=_1449255d60a:22c3491:9c6d71ab",
"action": "markAsRead",
"categoryIds": [
"user/c805fcbf-3acf-4302-a97e-d82f9d7c897f/category/design",
"user/c805fcbf-3acf-4302-a97e-d82f9d7c897f/category/photography"
],
"type": "categories"
}
И это мой метод:
- (void)markCategoryAsRead: (NSString*)feedID{
NSLog(@"Feed ID is: %@", feedID);
NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults];
NSString *accessToken = [standardUserDefaults objectForKey:@"AccessToken"];
NSString *feedUrl = [NSURL URLWithString:@"https://sandbox.feedly.com/v3/markers"];
NSError *error = nil;
NSDictionary *tmp = [[NSDictionary alloc] initWithObjectsAndKeys:
@"markAsRead", @"action",
@"categories", @"type",
@[feedID], @"categoryIds",
@"1367539068016", @"asOf",
nil];
NSData *postdata = [NSJSONSerialization dataWithJSONObject:tmp options:0 error:&error];
NSLog(@"Postdata is: %@", postdata);
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:feedUrl];
[request setHTTPMethod:@"POST"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-type"];
[request addValue:accessToken forHTTPHeaderField:@"Authorization"];
//[NSURLRequest setAllowsAnyHTTPSCertificate:YES forHost:[url host]];
NSError *errror = [[NSError alloc] init];
NSHTTPURLResponse *response = nil;
NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&errror];
NSLog(@"Response code: %ld", (long)[response statusCode]);
if ([response statusCode] >= 200 && [response statusCode] < 300)
{
NSLog(@"It's marked as read.");
} else {
if (error) NSLog(@"Error: %@", errror);
NSLog(@"No success marking this as read. %@", response);
}
}
Он продолжает бросать ошибку 400
хотя, говоря bad input
. Что я делаю не так?
Я такой тупик. Должно быть, он случайно удалил его. – user4334509
не беспокойтесь, я сделал то же самое сам много раз – Nick