通过iPhone应用程序进行vimeo oAth认证
|
我有一个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
,控制台就会显示以下错误消息:
Error Domain=NSURLErrorDomain Code=-1012 \"The operation couldn’t be completed.
(NSURLErrorDomain error -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 \"The operation couldn’t be completed. (kCFErrorDomainCFNetwork error -1012.)\"
}
任何人都可以帮助或至少提供一些指示吗?
为了进一步说明问题,我使用了OAuthConsumer
框架。以下是我们放置请求以获取访问令牌的代码行:
- (void)successfulAuthorizationWithToken:(NSString *)token verifier:(NSString *)verifier {
NSLog(@\"successfulAuthorizationWithToken\");
OAMutableURLRequest *request;
OADataFetcher *fetcher;
//NSURL *url = [NSURL URLWithString:@\"https://api.twitter.com/oauth/access_token\"];
NSURL *url = [NSURL URLWithString:@\"http://vimeo.com/oauth/access_token\"];
request = [[[OAMutableURLRequest alloc] initWithURL:url
consumer:self.consumer
token:self.accessToken
realm:nil
signatureProvider:nil autorelease];
OARequestParameter *p0 = [[OARequestParameter alloc] initWithName:@\"oauth_token\"
value:token];
OARequestParameter *p1 = [[OARequestParameter alloc] initWithName:@\"oauth_verifier\"
value:verifier];
NSArray *params = [NSArray arrayWithObjects:p0, p1, nil];
[request setParameters:params];
fetcher = [[[OADataFetcher alloc] init] autorelease];
[fetcher fetchDataWithRequest:request
delegate: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
没有找到相关结果
已邀请:
2 个回复
癸痊醒
处理程序,以便重定向浏览器时,iOS会将控制权交还给您的应用。我假设您正确使用了OAuth,并从您的应用启动浏览器进行用户交互。或者,您可以使用WebView(不是OAuth推荐的),然后在WebView委托中可以捕获重定向并解析出“ 12”。
翁茄口霉氖