Сбой запроса маркера доступа OAuth (NSErrorFailingURLStringKey) - PullRequest
0 голосов
/ 06 февраля 2011

У меня есть следующие шаги, выполненные в процессе 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 или неправильно предоставляю параметры?

Спасибо!
John

1 Ответ

3 голосов
/ 07 июня 2011

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

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

...