从谷歌检索用户详细信息 - 它应该是简单的吗?

时间:2014-06-06 09:34:27

标签: .net google-api google-api-dotnet-client

我已经使用浏览器对用户进行了身份验证。现在我想将此令牌发送到服务器,服务器必须获取用户详细信息,如名字,姓氏和电子邮件地址。

我最近用Facebook完成了这项工作,这很简单,因为它有一个易于使用的库。

我似乎无法弄清楚如何使用Google图书馆。我正在使用与Google API交互的此库https://code.google.com/p/google-api-dotnet-client/

互联网上的任何提示或示例都可以告诉我如何做到这一点?我只知道它非常简单,我可能会以完全错误的方式解决这个问题。

我需要Stack智慧!!!喂我!

2 个答案:

答案 0 :(得分:0)

var tokeninfoUri = "https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=" + accessToken;

var hc = new HttpClient();

var webResponse = hc.GetAsync(tokeninfoUri).Result;

这会返回类似于此

的JSON
public string Expires_In { get; set; }
public string Audience { get; set; }

然后我调用此API来获取用户信息

const string userInfoUrl = "https://www.googleapis.com/oauth2/v1/userinfo";
var hc = new HttpClient();
hc.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", authToken);
var webResponse = hc.GetAsync(userInfoUrl).Result;

所以我不需要任何图书馆来帮助我。但如果有一个图书馆为我做了这一切,那就太好了。我花了几个小时来搞清楚这一点。

答案 1 :(得分:0)

适用于.NET的Google API客户端库应该可以帮到您。 所有API均可在此处获取:https://developers.google.com/api-client-library/dotnet/apis/

您需要使用以下API:https://developers.google.com/api-client-library/dotnet/apis/oauth2/v2,可在NuGet存储库中找到:http://www.nuget.org/packages/Google.Apis.Oauth2.v2/