我正在開發一個iOS應用,需要將數據發送到我正在開發的谷歌應用引擎服務器應用。 iOS應用程序的每個用戶都將使用他們的Google身份訪問應用程序的服務器部分。我正在嘗試使用漂亮的gtm-oauth library。爲了獲得我的OAuth使用者密鑰和OAuth消費者密鑰,我使用了Google的服務register my domain。從iOS設備到谷歌應用引擎的Oauth用戶認證
當我創建用於訪問Google聯繫人列表的代碼時,它可以正常工作,但我無法使其與我的應用程序引擎應用程序協同工作。當我嘗試時,在驗證控制器視圖中出現錯誤「您請求的服務尚未可用,請在30秒內再試一次」。在應用引擎控制檯中,我看到/ _ah/OAuthGetAccessToken失敗的請求(我沒有提供任何此路徑)。
這裏是我的代碼:我使用的是正確的網址
-(IBAction)authButtonClicked: (id) sender {
[GTMHTTPFetcher setLoggingEnabled:YES];
NSURL *requestURL = [NSURL URLWithString:@"https://mysite.appspot.com/_ah/OAuthGetRequestToken"];
NSURL *accessURL = [NSURL URLWithString:@"https:/mysite.appspot.com/_ah/OAuthAuthorizeToken"];
NSURL *authorizeURL = [NSURL URLWithString:@"https://mysite.appspot.com/_ah/OAuthGetAccessToken"];
NSString *scope = @"http://mysite.appspot.com/";
GTMOAuthAuthentication *auth = [self myCustomAuth];
GTMOAuthViewControllerTouch *viewController;
viewController = [[GTMOAuthViewControllerTouch alloc] initWithScope:scope
language:nil
requestTokenURL:requestURL
authorizeTokenURL:authorizeURL
accessTokenURL:accessURL
authentication:auth
appServiceName:@"My Service"
delegate:self
finishedSelector:@selector(viewController:finishedWithAuth:error:)];
[[self navigationController] pushViewController:viewController animated:YES];
}
- (GTMOAuthAuthentication *)myCustomAuth {
NSString *myConsumerKey = @"mysite.appspot.com"; // from google registration
NSString *myConsumerSecret = @"xxxxxxxxxxxxxxx"; // from google registration
GTMOAuthAuthentication *auth;
auth = [[GTMOAuthAuthentication alloc] initWithSignatureMethod:kGTMOAuthSignatureMethodHMAC_SHA1
consumerKey:myConsumerKey
privateKey:myConsumerSecret];
auth.serviceProvider = @"Custom Auth Service";
return auth;
}
是誰?範圍是否正確?什麼會導致該消息?