在没有webauthorizationBroker的桌面应用程序中通过谷歌帐户授权用户

时间:2015-04-24 12:47:12

标签: c# .net google-api google-oauth google-api-dotnet-client

谷歌有新的api Google.Apis。

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

如何通过新API授权用户,但在C#中没有webauthorizationBroker?我不想打开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;

0 个答案:

没有答案