Получение информации о пользователе из Google Api с помощью мобильных служб Azure для Xamarin Android

Я использовал Windows Azure Mobile Services для Xamarin Android для аутентификации пользователя для Google и получил токен аутентификации как

while(_currentUser == null){
_currentUser = await _mobileClient.LoginAsync(context, 
 MobileServiceAuthenticationProvider.Google);
}

var authToken = _currentUser.MobileServiceAuthenticationToken;

var url = "https://www.googleapis.com/oauth2/v1/userinfo?access_token=" + authToken;
var request = WebRequest.Create (url)
var response = request.GetResponse ();

Я получаю ошибку HTTP 401: Несанкционировано. Я хочу получить информацию о пользователе, используя этот токен авторизации. Токен аутентификации, возвращаемый мобильными службами Azure, не подходит для этой цели? Любые идеи будут оценены.

Спасибо.


person Aniket Sharma    schedule 11.07.2013    source источник


Ответы (1)


Токен, возвращенный LoginAsync, является токеном Azure Mobile Service, а не токеном Google. Если вы хотите получить токен доступа, чтобы иметь возможность общаться с API Google, вам действительно нужно перейти на сторону сервера и получить информацию в этот момент через объект пользователя передается сценариям.

Сообщение по адресу http://blogs.msdn.com/b/carlosfigueira/archive/2012/10/25/getting-user-information-on-azure-mobile-services.aspx содержит дополнительную информацию о том, как получить этот токен доступа.

person carlosfigueira    schedule 11.07.2013
comment
Спасибо! Есть ли способ получить информацию с помощью токена мобильной службы Azure на стороне клиента? (Реализация на стороне сервера и сценарии не находятся под моим контролем.) - person Aniket Sharma; 11.07.2013
comment
Не сейчас. Не стесняйтесь регистрировать запрос функции в разделе mobileservices.uservoice.com, который команда использует при планировании следующих функций. добавить в каркас. - person carlosfigueira; 12.07.2013