2011-02-06 16 views
0

У меня есть следующие шаги, завершенные в процессе OAuth:
1) Запрос маркера
2) санкционировать маркер
3) Получить PIN-номер
доступа OAuth маркер запроса отсутствии (NSErrorFailingURLStringKey)

Что я могу» t получить на работу получает токен доступа с 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-адрес неправильно или поставлять неправильно или недостаточно параметров?

Спасибо!
John

ответ

3

Вы проверили, был ли произведен правильный токен oauth? Я бы предложил начать там. Here's хороший ресурс для проверки токенов OAuth.

Сообщение появляется, если есть ошибка аутентификации. Создайте URL-адрес с помощью проверки Netflix Oauth и запустите его в браузере. Посмотрите, загрузится ли он тогда.

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