Сбой запроса маркера доступа OAuth (NSErrorFailingURLStringKey)
У меня есть следующие шаги, выполненные в процессе OAuth:
1) Запрос токена
2) Авторизовать токен
3) Получить ПИН-код
Что я не могу получить на работу, так это получить токен доступа с помощью полученного мной PIN-кода. Это всегда бьет меня accessTokenTicket:didFailWithError
селектор.
Вот URL, который передается на него:
http://www.formspring.me/oauth/access_token?oauth_token=TOKEN_KEY_HERE&oauth_verifier=PIN_HERE
И вот код, который называется:
- (void)successfulAuthorizationWithPin:(NSString *)pin {
NSLog(@"successfulAuthorizationWithPin:%@", pin);<br>
OAMutableURLRequest *request;<br>
OADataFetcher *fetcher;
NSURL *url = [NSURL URLWithString:kOAuthAccessTokenURL];
request = [[[OAMutableURLRequest alloc] initWithURL:url
consumer:self.consumer
token:self.accessToken
realm:nil
signatureProvider:nil] autorelease];
OARequestParameter *p0 = [[OARequestParameter alloc] initWithName:@"oauth_token" value:self.accessToken.key];
OARequestParameter *p1 = [[OARequestParameter alloc] initWithName:@"oauth_verifier"
value:pin];
NSArray *params = [NSArray arrayWithObjects:p0, p1, nil];
[request setParameters:params];
[request prepare];
NSLog(@"%@", request.URL);
fetcher = [[[OADataFetcher alloc] init] autorelease];
[fetcher fetchDataWithRequest:request
delegate:self
didFinishSelector:@selector(accessTokenTicket:didFinishWithData:)
didFailSelector:@selector(accessTokenTicket:didFailWithError:)];
[p0 release];
[p1 release];
}
И didFail
метод (просто NSLog
ошибки) выдает эту ошибку:
Error Domain=NSURLErrorDomain Code=-1012 "The operation couldn’t be completed. (NSURLErrorDomain error -1012.)" UserInfo=0x6160c20 {NSErrorFailingURLKey=http://www.formspring.me/oauth/access_token?oauth_token=TOKEN_KEY_HERE&oauth_verifier=PIN_HERE, NSErrorFailingURLStringKey=http://www.formspring.me/oauth/access_token?oauth_token=TOKEN_KEY_HERE&oauth_verifier=PIN_HERE, NSUnderlyingError=0x61321f0 "The operation couldn’t be completed. (kCFErrorDomainCFNetwork error -1012.)"}
Я неправильно форматирую URL, или неправильно предоставляю параметры?
Спасибо!
Джон
1 ответ
Вы проверили, был ли сгенерированный токен oauth правильным? Я бы предложил начать там. Вот хороший ресурс для проверки ваших токенов OAuth.
Сообщение появляется, если есть ошибка аутентификации. Создайте URL-адрес с помощью проверки Netflix Oauth и запустите его в браузере. Посмотрим, загрузится ли он тогда.