C# 通过桌面应用程序中的google帐户授权用户,无需webauthorizationBroker
谷歌有了新的api Google.api 我有一个桌面应用程序,通过谷歌帐户授权用户。旧的API停止工作 如果没有C#中的webauthorizationBroker,如何通过新API授权用户?我不想打开webbroswer,我有自己的win表单用于输入登录名和密码 编辑: 以下是旧代码:C# 通过桌面应用程序中的google帐户授权用户,无需webauthorizationBroker,c#,.net,google-api,google-oauth,google-api-dotnet-client,C#,.net,Google Api,Google Oauth,Google Api Dotnet Client,谷歌有了新的api Google.api 我有一个桌面应用程序,通过谷歌帐户授权用户。旧的API停止工作 如果没有C#中的webauthorizationBroker,如何通过新API授权用户?我不想打开webbroswer,我有自己的win表单用于输入登录名和密码 编辑: 以下是旧代码: string fullname = string.Empty; UserService userService = new UserService("APPKEY");
string fullname = string.Empty;
UserService userService = new UserService("APPKEY");
userService.setUserCredentials(username, Encryptor.Decrypt(password));
try
{
string token = userService.QueryClientLoginToken();
GOAuthRequestFactory reqF = new GOAuthRequestFactory("apps", "APPKEY") { ConsumerKey = "KEY", ConsumerSecret = "SECRET" };
userService = new UserService("APPKEY") { RequestFactory = reqF };
UserQuery query = new UserQuery("DOMAIN", true);
UserFeed usersFeed = userService.Query(query);
UserEntry entry = (UserEntry)usersFeed.Entries.FirstOrDefault(f => (f as UserEntry).Login.UserName == userName);
fullname = string.Format("{0} {1}", entry.Name.GivenName, entry.Name.FamilyName);
}
catch (InvalidCredentialsException ex)
{
service.SendError(ex.Message);
return fullname;
}
return fullname;
Musketyr,考虑发布您的旧代码,这样我们就可以看到您使用的类/api。您总是需要打开浏览器窗口才能通过Google验证。身份验证是一个网页。我想你可以用网络浏览器控制打开它。但这样做很棘手。开放式网络浏览器控制不舒服。应用程序只有一种设计,用户必须通过应用程序登录。