У меня есть приложение для iPad, и мне нужно интегрировать в него vimeo.Я на начальной стадии интеграции его в свое приложение.Сначала мне нужно пройти проверку подлинности моего приложения с помощью vimeo.
Я прошел все этапы проверки подлинности в документации и смог пройти первые два этапа:
Запрос токена: http://vimeo.com/oauth/request_token
Авторизация пользователя: http://vimeo.com/oauth/authorize
Но не удалось получить oauth_token и oauth_token_secret до последнего шага:
Токен доступа: http://vimeo.com/oauth/access_token
Перенаправления Vimeoдля обратного вызова URL вместо возврата к приложению, что нормально, пока я не получу верификатор и токен авторизации.Но как только я использую их для получения oauth_token и oauth_token_secret, консоль выдает следующее сообщение об ошибке:
Ошибка домена = NSURLErrorDomain Code = -1012 «Операция не может быть завершена. (Ошибка NSURLErrorDomain -1012.)» UserInfo =0x18146180 {NSErrorFailingURLKey = http://vimeo.com/oauth/access_token?oauth_token=141b4ff56c48dc5d03501297bde85ebc&oauth_verifier=land-1886924229, NSErrorFailingURLStringKey = http://vimeo.com/oauth/access_token?oauth_token=141b4ff56c48dc5d03501297bde85ebc&oauth_verifier=land-1886924229, NSUnderlyingError = 0x181483d0 "Операция не может быть завершена. (KCFErrorDomainCFNetwork ошибка -1012.), Пожалуйста,
*по крайней мере, предоставьте некоторые направления?
Для дальнейшего понимания, я использую OAuthConsumer Framework.Ниже приведены строки кода, в которые мы помещаем запрос для получения токена доступа:
(void) successAuthorizationWithToken: (NSString *) верификатор токена: (NSString *) verifyier {NSLog (@ ")successfulAuthorizationWithToken ");OAMutableURLRequest * запрос;OADataFetcher * fetcher;
// NSURL * url = [NSURL URLWithString: @ "https://api.twitter.com/oauth/access_token"]; NSURL * url = [NSURL URLWithString: @" http://vimeo.com/oauth/access_token"]; request = [[[OAMutableURLRequestalloc] initWithURL: url потребитель: self.consumer токен: self.accessToken область: ноль signatureProvider: nil autorelease];
OARequestParameter * p0 = [[OARequestParameter alloc] initWithName: @ "oauth_token" значение: token]OARequestParameter * p1 = [[OARequestParameter alloc] initWithName: @ "oauth_verifier" value: verifyier];NSArray * params = [NSArray arrayWithObjects: p0, p1, nil];[request setParameters: params];
fetcher = [[[OADataFetcher alloc] init] autorelease];
[fetcher fetchDataWithRequest: запрос делегата: self didFinishSelector: @selector (accessTokenTicket: didFinishWithData :)didFailSelector: @selector (accessTokenTicket: didFailWithError:)];
[p0 release];[p1 release];
}
Я также попробовал решения, указанные в ссылке ниже: Twitter API + OAuthConsumer.framework
В нем указано использовать [[OAHMAC_SHA1SignatureProvider alloc] init] autorelease] в качестве signatureProvider.Но результаты те же.
Мне нужно получить следующие значения после того, как я получу верификатор и авторизованный токен с помощью шага токена доступа: oauth_token = YourAuthorizedOauthToken & oauth_token_secret = YourAuthorizedTokenSecret