Я разрабатываю приложение для iOS, которое должно получать / помещать данные в приложение сервера приложений Google, которое я также разрабатываю. Каждый пользователь приложения для iOS будет использовать свой идентификатор Google для доступа к серверной части приложения. Я пытаюсь использовать классную библиотеку gtm-oauth . Я использовал службу Google, чтобы зарегистрировать свой домен , чтобы получить мой OAuth-ключ потребителя и 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;
}
Использую ли я правильные URL? Является ли сфера правильной? Что вызвало бы это сообщение?