Я пишу веб-приложение, используя ASP.NET MVC3 (C #), и мне нужно получить календари и контакты из учетных записей Google моего вошедшего в систему пользователя.
Поскольку я нехочу сохранить учетные данные пользователя, я использую OAuth (но не использую OpenID - я не хочу, чтобы мои пользователи входили в систему, используя свою учетную запись Google).
У меня есть следующий код для получения токена доступа ипозже используйте его для получения данных:
var google = new WebConsumer(GoogleConsumer.ServiceDescription, this.TokenManager);
// Is Google calling back with authorization?
var accessTokenResponse = google.ProcessUserAuthorization();
if (accessTokenResponse != null) {
this.AccessToken = accessTokenResponse.AccessToken;
//SAVE ACCESS TOKEN TO DATABASE
} else if (this.AccessToken == null) {
// If we don't yet have access, immediately request it.
GoogleConsumer.RequestAuthorization(google, GoogleConsumer.Applications.Contacts);
}
К сожалению, как вы можете видеть, я запрашиваю только авторизацию для контактов, а метод RequestAuthorization
не позволяет мне устанавливать более одногоapplication.
Как я могу сделать это без необходимости нескольких разных токенов для разных областей?(Один для календаря, один для контактов и т. Д.)