问题描述
正在寻找更改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();