使用适用于Xamarin Android的Azure移动服务从Google Api获取用户信息

时间:2013-07-11 11:11:55

标签: azure xamarin.android xamarin azure-mobile-services

我使用适用于Xamarin Android的Windows Azure移动服务来验证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移动服务返回的身份验证令牌是否不适合此目的?任何想法将不胜感激。

感谢。

1 个答案:

答案 0 :(得分:2)

LoginAsync返回的令牌是 Azure移动服务令牌,而不是Google令牌。如果您希望获取访问令牌以便能够与Google API通信,您实际上需要转到服务器端并通过传递给脚本的user object检索此时的信息。

http://blogs.msdn.com/b/carlosfigueira/archive/2012/10/25/getting-user-information-on-azure-mobile-services.aspx上的帖子提供了有关如何获取该访问令牌的更多信息。