我正在使用 Google Admin SDK API 使用独立 C# 代码在 Google 中配置用户/组,所有操作,包括创建用户、更新用户、创建组、添加成员、获取成员、搜索用户等现在都运行良好我正在尝试调用 Group Setting API 来更新一些组设置,但是我得到了一个
需要登录异常 (401)。
我在服务帐户范围中添加了组设置,并在 Google 管理控制台的安全设置中添加了相同的组设置并在开发者控制台范围中启用了组设置: GroupssettingsService.Scope.AppsGroupsSettings 管理控制台安全设置:https ://www.googleapis.com /auth/apps.groups.settings
我不确定这里出了什么问题,剩下的所有 API 都可以正常工作,我从 API Explorer 中尝试过同样的操作,并且也可以正常工作。
//Connect Google Snippet
public static DirectoryService fnConnectGoogle()
{
Console.WriteLine("Connect to Google API");
Console.WriteLine("=====================");
String serviceAccountEmail = "xyz@developer.gserviceaccount.com";
var certificate = new X509Certificate2(@"D:\CECV\Google\GoogleAppsProvisioning.p12", "notasecret", X509KeyStorageFlags.Exportable);
ServiceAccountCredential credential = new ServiceAccountCredential(
new ServiceAccountCredential.Initializer(serviceAccountEmail)
{
User = "test@mydomain.com",
Scopes = new[] { DirectoryService.Scope.AdminDirectoryUser, DirectoryService.Scope.AdminDirectoryGroup,
GroupssettingsService.Scope.AppsGroupsSettings}
}.FromCertificate(certificate));
var dirservice = new DirectoryService(new BaseClientService.Initializer()
{enter code here
HttpClientInitializer = credential,
ApplicationName = "GoogleAppsProvisioning"
});
return dirservice;
}
//Update Group Settings
public static void fnUpdateGroupSetting(DirectoryService dirService)
{
GroupssettingsService groupSetting = new GroupssettingsService();
// Groups group = new Groups();
Google.Apis.Groupssettings.v1.Data.Groups group = new Google.Apis.Groupssettings.v1.Data.Groups();
group.AllowWebPosting = "true";
var g = groupSetting.Groups.Update(group, "testgroupprovisioning-code-1@vic.catholic.edu.au").Execute();
Console.WriteLine("Group Settings updated successfully"+g.AllowWebPosting );
}