Je rencontre un problème lors de l'appel de notre API RESTful. La requête est d'obtenir le jeton de l'API; J'ai besoin de ce jeton pour l'utiliser pour faire d'autres appels sur cette API. Le problème est que chaque fois que je fais cet appel, j'obtiens le code d'état HTTP 403 et je ne sais pas pourquoi. Je fais les mêmes appels d'Android mais ils fonctionnent bien sans aucun problème.Appel https https à Restful API
En fait, je n'ai aucune expérience de travail avec xCode; Je suis juste en train d'implémenter quelques changements dans le code existant qui a été écrit par un autre développeur. Je ne sais pas si je fais quelque chose de mal ou quoi.
id keys[] = {@"grant_type", @"client_id", @"client_secret", @"username", @"password"};
id objects[] = {@"password", @"AppClientID", @"AppClientSecret", @"usernamehere", @"userpasswordhere"};
NSUInteger count = sizeof(objects)/sizeof(id);
NSDictionary *d = [NSDictionary dictionaryWithObjects:objects forKeys:keys count:count];
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:d options:NSJSONWritingPrettyPrinted error:nil];
NSURL *url = [NSURL URLWithString:@"https://oauth-test.websitename.com/token"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:60];
[request setHTTPMethod:@"POST"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[request setValue:@"Basic" forHTTPHeaderField:@"Authorization"];
[request setHTTPBody:jsonData];
[NSURLConnection sendAsynchronousRequest:request
queue:[NSOperationQueue mainQueue]
completionHandler:^(NSURLResponse *response,
NSData *data, NSError *connectionError) {
if(data.length > 0 && connectionError == nil) {
NSLog(@"Response --> %@ ", response);
}
}
];
Quelqu'un peut-il essayer de m'aider à comprendre ce qui ne va pas? Merci d'avance.
Vous devez utiliser URLSession parce que NSURLConnection est dépréciée dans iOS 10 –
il va résoudre mon problème? ou c'est juste une suggestion? – user2908751
c'est une suggestion et vous pouvez l'essayer –