我正在做一個應用程序,其中,當用戶單擊顯示gmail登錄頁面的按鈕時,我有一個名爲Login的按鈕,一旦用戶提供了他的憑據,而不是登錄到郵件主頁,它應該調用應用程序的註冊頁面,填充從用戶的gmail配置文件中提取的詳細信息。 (詳細信息如用戶名和姓氏,電子郵件等).... 搜索爲我提供了以下網站 「https://code.google.com/p/gtm-oauth/wiki/GTMOAuthIntroduction」 但我需要一個例子來了解Gmail整合究竟是如何工作的...提前 感謝Gmail集成在iOS中的示例
1
A
回答
1
終於讓我找到了解決方案。 。 。 .i認爲這將有助於
按照以下步驟將gmail與您的應用程序集成。
1.爲您的項目添加以下類。
GTMHTTPFetcher.h , GTMHTTPFetcher.m
GTMOAuth2Authentication.h, GTMOAuth2Authentication.m
GTMOAuth2SignIn.h,GTMOAuth2SignIn.m
GTMOAuth2ViewControllerTouch.h,GTMOAuth2ViewControllerTouch.m,
GTMOAuth2ViewTouch.xib
SBJSON.h , SBJSON.m
你會得到這些類here:https://github.com/jonmountjoy/Force.com-iOS-oAuth-2.0-Example
注:如果您在ARC環境下工作,那麼你必須禁用ARC了以下文件:
GTMHTTPFetcher.m , GTMOAuth2Authentication.m , GTMOAuth2SignIn.m, GTMOAuth2ViewControllerTouch.m
要禁用ARC的Xcode 4中的源文件,在Xcode中選擇項目和目標。在目標「構建階段」選項卡下,展開編譯源構建階段,選擇庫源文件,然後按Enter打開編輯字段,然後鍵入-fno-objc-arc作爲這些文件的編譯器標誌。
添加以下框架
security.framework,systemConfiguration.framework
註冊應用程式,以前往Google API控制檯...。 here:https://code.google.com/apis/console
然後轉到ApiAccess部分,爲iOS應用創建客戶端ID。 然後你會得到clientID,ClientSecret和RedirectUrl
現在是編碼的時候了。 。 。 。在控制器中創建一個登錄按鈕併爲其設置動作。在這裏,當用戶點擊按鈕SignInGoogleButtonClicked方法被調用
代碼
#define GoogleAuthURL @"https://accounts.google.com/o/oauth2/auth"
#define GoogleTokenURL @"https://accounts.google.com/o/oauth2/token"
#define GoogleClientID @"paste your client id"
#define GoogleClientSecret @"paste your client secret"
-(void) SignInGoogleButtonClicked{
NSURL * tokenURL = [NSURL URLWithString:GoogleTokenURL];
NSString * redirectURI = @"urn:ietf:wg:oauth:2.0:oob";
GTMOAuth2Authentication * auth= [GTMOAuth2Authentication authenticationWithServiceProvider:@"google"
tokenURL:tokenURL
redirectURI:redirectURI
clientID:GoogleClientID
clientSecret:GoogleClientSecret];
auth.scope = @"https://www.googleapis.com/auth/plus.me";
GTMOAuth2ViewControllerTouch * viewcontroller = [[GTMOAuth2ViewControllerTouch alloc] initWithAuthentication:auth
authorizationURL:[NSURL URLWithString:GoogleAuthURL]
keychainItemName:@"GoogleKeychainName" delegate:self
finishedSelector:@selector(viewController:finishedWithAuth:error:)];
[self.navigationController pushViewController:viewcontroller animated:YES];
}
//this method is called when authentication finished
- (void)viewController:(GTMOAuth2ViewControllerTouch *)viewController finishedWithAuth:(GTMOAuth2Authentication *)auth error:(NSError *)error{
if (error != nil){
UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"Error Authorizing with Google" message:[error localizedDescription]
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show]
}
else{
UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"Alert !" message:@"success"
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show]
}
}
相關問題
- 1. 將gmail與ios應用程序集成
- 2. 需要在iOS開發中集成Gmail賬戶的建議
- 3. 在ios應用程序中的gmail集成
- 4. Spring集成示例
- 5. 在java中是否有任何Webcam集成的示例示例
- 6. 在ios中的Tumblr集成
- 7. 在Firebase項目中集成Gmail連接
- 8. GMail api C++示例
- 9. 集成在iOS的
- 10. Spring集成示例:: Aggregator
- 11. GreendaO與Sqlcipher集成示例
- 12. ActiveMerchant集成使用示例?
- 13. CKEditor和elFinder集成示例
- 14. Applet和JSF集成 - 示例
- 15. ASP.net集成模式 - 示例
- 16. 貝寶集成示例
- 17. Android SSO Okta集成示例
- 18. 在iOS中集成Stripe SDK
- 19. 在iOS SDK中集成Youtube
- 20. iOS中的MVVM示例/示例實現
- 21. Evernote集成在ios
- 22. Facebook在IOS集成
- 23. iphone gmail代碼示例
- 24. iOS 5.0中的Twitter集成
- 25. iOS中的方塊集成
- 26. iOS中的FluidSynth集成
- 27. 在IOS上的PayPal集成
- 28. SugarSync的集成在IOS
- 29. 關於RESTful和Shiro集成的示例
- 30. Spring與RedisLockRegistry示例的集成
你得到的答案。 –