Google.API更改组所有者

问题描述

正在寻找更改Google电子邮件组所有者的正确代码... 我目前所拥有的(不工作)。凭据/服务都很好,因为我正在使用它们来做一堆其他GoogleAPI的东西,这些东西都可以正常工作。我只是不确定是否应该与用户或群组打交道。


                String serviceAccountEmail = "[email protected]";
                var certificate = new X509Certificate2(@"c:\asdf\PasswordReset2.p12","notasecret",X509KeyStorageFlags.Exportable);

                ServiceAccountCredential credential = new ServiceAccountCredential(new ServiceAccountCredential.Initializer(serviceAccountEmail)
                {
                    User = "[email protected]",Scopes = new[] { DirectoryService.Scope.AdminDirectoryUser,DirectoryService.Scope.AdminDirectoryGroup }

                }.FromCertificate(certificate));

                var service = new DirectoryService
                (
                    new BaseClientService.Initializer()
                    {
                        HttpClientinitializer = credential,ApplicationName = "jimmyjohn",ApiKey = "asdkfjasl;dkjfaskdjfasdfasdf"
                    }
                );

                Group g = new Group();
                g = service.Groups.Get(groupemail).Execute();

                // NEED HELP HERE

                service.Groups.Update(g,groupemail).Execute();
                
                //Member newMember = new Member();
                //newMember.Email = useremail;
                //newMember.Role = "OWNER"; //MANAGER,OWNER
                //newMember.Kind = "admin#directory#member";

                //service.Members.Update(newMember,groupemail,useremail).Execute();```

解决方法

我已经有了答案,但是由于Facepalm错误,我总是告诉它将所有者设置为我自己(在提供此功能的上一个函数中),因此在Google网上论坛中从未看到任何变化...

Member newMember = new Member
{
     Email = useremail,Role = "OWNER" //MANAGER,OWNER
};

service.Members.Update(newMember,groupemail,useremail).Execute();