1
API를 사용하여 Vimeo에 액세스하기 위해 앱을 인증하려고했습니다. 나는 이것을 통과하지 못하는 것 같습니다. vimeo가 사용자로부터 액세스 권한을 요청하는 페이지를 볼 수 있으며 '허용'버튼을 클릭하면 오류가 표시됩니다. 나는 GTM-OAuth2Vimeo API iOS 용 OAuth 2.0 - 인증 토큰을받지 못했습니다.
사용하고 난 코드 아래에 추가 한 :
#import "ViewController.h"
#import "GTMOAuth2Authentication.h"
#import "GTMOAuth2ViewControllerTouch.h"
@interface ViewController()
@end
@implementation ViewController
- (void)viewDidLoad{
[super viewDidLoad];
[self signInToVimeo];
}
- (void)didReceiveMemoryWarning{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
#define ClientID @"clientID"
#define ClientSecret @"clientSecret"
#define AuthURL @"https://api.vimeo.com/oauth/authorize"
#define TokenURL @"https://api.vimeo.com/oauth/request_token"
- (GTMOAuth2Authentication *)authForVimeo
{
//This URL is defined by the individual 3rd party APIs, be sure to read their documentation
NSURL * tokenURL = [NSURL URLWithString:TokenURL];
// We'll make up an arbitrary redirectURI. The controller will watch for
// the server to redirect the web view to this URI, but this URI will not be
// loaded, so it need not be for any actual web page. This needs to match the URI set as the
// redirect URI when configuring the app with Instagram.
NSString * redirectURI = @"Simple-OAuth2://";
GTMOAuth2Authentication * auth;
auth = [GTMOAuth2Authentication authenticationWithServiceProvider:@"Vimeo"
tokenURL:tokenURL
redirectURI:redirectURI
clientID:ClientID
clientSecret:ClientSecret];
auth.scope = @"public";
return auth;
}
- (void)signInToVimeo{
GTMOAuth2Authentication * auth = [self authForVimeo];
// Display the authentication view
GTMOAuth2ViewControllerTouch * viewController = [[GTMOAuth2ViewControllerTouch alloc] initWithAuthentication:auth
authorizationURL:[NSURL URLWithString:AuthURL]
keychainItemName:@"VimeoKeychainItem"
delegate:self
finishedSelector:@selector(viewController:finishedWithAuth:error:)];
[self.navigationController pushViewController:viewController animated:YES];
}
- (void)viewController:(GTMOAuth2ViewControllerTouch *)viewController
finishedWithAuth:(GTMOAuth2Authentication *)auth
error:(NSError *)error
{
NSLog(@"finished");
NSLog(@"auth access token: %@", auth.accessToken);
[self.navigationController popToViewController:self animated:NO];
if (error != nil) {
UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"Error Authorizing with Vimeo"
message:[error localizedDescription]
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
} else {
UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"Success Authorizing with Vimeo"
message:[error localizedDescription]
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
}
}
@end
나는 인증 토큰을받지 않습니다. Here은 '허용'버튼을 클릭하면 나타나는 스크린 샷입니다.
그가 여기에 자신의 실제 client_id 및 client_secret을 게시 할 것이라고 생각 했습니까? – nenchev
@nenchev Oh lol .... 바보가되어서 나쁘다. 하하 – Supertecnoboff
GTM-OAuth2는 읽기 전용입니다. 어디서 다운로드 할 수 있습니까? – Durgaprasad