Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过桌面应用程序中的google帐户授权用户,无需webauthorizationBroker_C#_.net_Google Api_Google Oauth_Google Api Dotnet Client - Fatal编程技术网

C# 通过桌面应用程序中的google帐户授权用户,无需webauthorizationBroker

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");

谷歌有了新的api Google.api

我有一个桌面应用程序,通过谷歌帐户授权用户。旧的API停止工作

如果没有C#中的webauthorizationBroker,如何通过新API授权用户?我不想打开webbroswer,我有自己的win表单用于输入登录名和密码

编辑: 以下是旧代码:

        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验证。身份验证是一个网页。我想你可以用网络浏览器控制打开它。但这样做很棘手。开放式网络浏览器控制不舒服。应用程序只有一种设计,用户必须通过应用程序登录。