0

iOS アプリに GTMOAuth を実装する必要があります。このために、OAuth ライブラリをダウンロードし、いくつかのコードを記述しました。

- (GTMOAuthAuthentication *)myCustomAuth {


NSString *myConsumerKey = @"f964039f2d7bc82054";    // pre-registered with service
NSString *myConsumerSecret = @"c9a749c0f1e30c9246a3be7b2586434f"; // pre-assigned by service

GTMOAuthAuthentication *auth;
auth = [[[GTMOAuthAuthentication alloc] initWithSignatureMethod:kGTMOAuthSignatureMethodHMAC_SHA1
                                                    consumerKey:myConsumerKey
                                                     privateKey:myConsumerSecret] autorelease];

// setting the service name lets us inspect the auth object later to know
// what service it is for
auth.serviceProvider = @"Custom Auth Service";

return auth;
}



- (void)signInToCustomService {

NSURL *requestURL = [NSURL URLWithString:@"http://alpha.easyreceipts.com/api/v1/oauth/request_token"];
NSURL *accessURL = [NSURL URLWithString:@"http://alpha.easyreceipts.com/api/v1/oauth/access_token"];
NSURL *authorizeURL = [NSURL URLWithString:@"http://alpha.easyreceipts.com/api/v1/oauth/authorize"];
NSString *scope = @"http://alpha.easyreceipts.com/api/v1/";

GTMOAuthAuthentication *auth = [self myCustomAuth];

// set the callback URL to which the site should redirect, and for which
// the OAuth controller should look to determine when sign-in has
// finished or been canceled
//
// This URL does not need to be for an actual web page
[auth setCallback:@"http://alpha.easyreceipts.com/api/v1/"];

// Display the autentication view
GTMOAuthViewControllerTouch *viewController;
viewController = [[[GTMOAuthViewControllerTouch alloc] initWithScope:scope
                                                            language:nil
                                                     requestTokenURL:requestURL
                                                   authorizeTokenURL:authorizeURL
                                                      accessTokenURL:accessURL
                                                      authentication:auth
                                                      appServiceName:@"My App: Custom Service"
                                                            delegate:self
                                                           finishedSelector:@selector(viewController:finishedWithAuth:error:)] autorelease];
viewController = [self.storyboard instantiateViewControllerWithIdentifier:@"myID"];

[[self navigationController] pushViewController:viewController
                                       animated:YES];
}

しかし、さらに私はそれを実装する方法がわかりません.私を助けてください よろしくお願いします

4

1 に答える 1

0

まず、GTM ライブラリを使用して OAuth 認証システムを実装する場合は、これを入手する必要があります。ここで GTMOAuth の完全なソースを見つけることができます。

次に、git リポジトリでも使用方法の例を見つけることができます。少なくとも認証に必要なものはすべて見つかるはずです。さらに問題がある場合は、さらに情報を提供してください。

于 2012-10-29T14:15:05.620 に答える