我已经使用浏览器对用户进行了身份验证。现在我想将此令牌发送到服务器,服务器必须获取用户详细信息,如名字,姓氏和电子邮件地址。
我最近用Facebook完成了这项工作,这很简单,因为它有一个易于使用的库。
我似乎无法弄清楚如何使用Google图书馆。我正在使用与Google API交互的此库https://code.google.com/p/google-api-dotnet-client/。
互联网上的任何提示或示例都可以告诉我如何做到这一点?我只知道它非常简单,我可能会以完全错误的方式解决这个问题。
我需要Stack智慧!!!喂我!
答案 0 :(得分:0)
var tokeninfoUri = "https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=" + accessToken;
var hc = new HttpClient();
var webResponse = hc.GetAsync(tokeninfoUri).Result;
这会返回类似于此
的JSONpublic 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/